2017-06-01 326 views
0

我有以下设置PM2 logrotate的设置:PM2 logrotate的不断产生新的日志

rotateInterval = * * 23 * * *

MAX_SIZE = 100MB

我想旋转23小时的日志和/或保持最大100MB的日志文件。但出于某种奇怪的原因,PM2 Logrotate不断旋转/创建新的日志文件的方式太频繁,所以我失去了查看日志历史记录的能力。 e“pm2 logs --lines 300”仅显示已创建新日志。这是输出I在终端看到:

PM2-logrotate的> “/root/.pm2/logs/scraper-init-out-1__2017-06-01_08-00-25.log” 已创建

PM2-logrotate的> “/root/.pm2/logs/pm2-logrotate-out-2__2017-06-01_08-00-25.log” 已创建

PM2-logrotate的>“/root/.pm2 /logs/pm2-logrotate-out-2__2017-06-01_08-00-55.log“已创建

pm2-logrotate>”/root/.pm2/logs/pm2-logrotate-out-2__2017-06 -01_08-01-25.log“已创建

我在这里做错了什么?

回答

1

根据该文件,这里是你想怎么安排登录旋转:

* * * * * * 
┬ ┬ ┬ ┬ ┬ ┬ 
│ │ │ │ │ | 
│ │ │ │ │ └ 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) 

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

如果设置rotateInterval '* * 23 * * *',登录旋转将旋转日志的每一分每一秒23小时。

我不认为你可以旋转其他23小时除每日更改设置,而是在每一天的第23小时旋转,你会设置这样的:rotateInterval '0 0 23 * * *'

还要注意因为“第二”的设置是可选的,所以你可以更简单地表达这种为: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  
3

我和你有同样的问题。将max_size从100MB更改为100M。该文档默认max_size为10MB,但它提供的选项是10G, 10M, 10K。显然它不知道如何处理MBM

+0

我没有旋转设置,并且尺寸设置为'500MB',日志会旋转_every_分钟。将大小更改为'500M'似乎解决了这个问题。谢谢! – wtk