PM2 Logrotate不断生成新日志

Alm*_*mir 1 unix logging node.js pm2 pm2-logrotate

我为PM2 Logrotate设置了以下设置:

rotateInterval= * * 23 * * *
max_size= 100MB   
Run Code Online (Sandbox Code Playgroud)

我想每23小时轮换一次日志,并且/或者最多保留100MB的日志文件。但是由于某些奇怪的原因,PM2 Logrotate经常旋转/创建新日志文件的方式太频繁,因此我无法查看日志的历史记录,即。e pm2 logs --lines 300仅显示已创建新日志。这是我在终端中看到的输出:

pm2-logrotate > "/root/.pm2/logs/scraper-init-out-1__2017-06-01_08-00-25.log" has been created

pm2-logrotate > "/root/.pm2/logs/pm2-logrotate-out-2__2017-06-01_08-00-25.log" has been created  

pm2-logrotate > "/root/.pm2/logs/pm2-logrotate-out-2__2017-06-01_08-00-55.log" has been created                                                       

pm2-logrotate > "/root/.pm2/logs/pm2-logrotate-out-2__2017-06-01_08-01-25.log" has been created  
Run Code Online (Sandbox Code Playgroud)

我在这里做错了什么?

jos*_*rwn 7

根据文档,这是您想要安排日志轮换的方式:

*    *    *    *    *    *
?    ?    ?    ?    ?    ?
?    ?    ?    ?    ?    |
?    ?    ?    ?    ?    ? day of week (0 - 7) (0 or 7 is Sun)
?    ?    ?    ?    ?????? month (1 - 12)
?    ?    ?    ??????????? day of month (1 - 31)
?    ?    ???????????????? hour (0 - 23)
?    ????????????????????? minute (0 - 59)
?????????????????????????? second (0 - 59, OPTIONAL)
Run Code Online (Sandbox Code Playgroud)

https://github.com/pm2-hive/pm2-logrotate

如果你设置了rotateInterval '* * 23 * * *',log-rotate 将在 23 小时的每一分钟的每一秒旋转日志。

我认为除了每天更改设置之外,您不能每 23 小时轮换一次,但是要在每天的第 23 小时轮换,您可以这样设置: rotateInterval '0 0 23 * * *'

另请注意,由于 'second' 设置是可选的,因此您可以更简单地将其表示为: rotateInterval '0 23 * * *'

编辑:

这将明确地将所有 pm2-logrotate 选项设置为其默认值:

pm2 set pm2-logrotate:retain 7
pm2 set pm2-logrotate:compress false 
pm2 set pm2-logrotate:dateFormat YYYY-MM-DD_HH-mm-ss 
pm2 set pm2-logrotate:max_size 10M 
pm2 set pm2-logrotate:retain 7 
pm2 set pm2-logrotate:rotateInterval '0 0 * * * '
pm2 set pm2-logrotate:rotateModule true 
pm2 set pm2-logrotate:workerInterval 30      
Run Code Online (Sandbox Code Playgroud)


小智 6

我和你有同样的问题。将max_size从更改100MB100M。该文档的max_size默认值为,10MB但提供的选项为 10G, 10M, 10K。显然,它不知道是做什么用MBVS M