当我用这个configuration使用logrotate时:
/home/ubuntu/.pm2/logs/* { rotate 2 size 200k missingok notifempty compress delaycompress copytruncate create 0640 ubuntu ubuntu }
我的文件(我们称之为test )不会旋转,直到达到200k。 一旦达到200k就会被copytruncate-ed。 我在0k(正确!)和test.1在> 200k。
问题是,第二天我会得到test > test.1 (正确增长), test.1在test.1.1和test.1.1在> 200K。 随着时间的推移,我最终会得到无限的test.1.1.1.1... 0k,最后一个在昨天创build的200k以上。
我原来的想法是有两个文件, test任何大小小于200K和另一个较旧的日志文件只。
我需要使用copytruncate,就像我不PM2进程将继续写入旧的日志文件。
我究竟做错了什么?
对于任何人在类似的问题上绊倒。
问题在于这一行:
/home/ubuntu/.pm2/logs/* {
尤其是,catch-all *应该与* .log交换,否则,旋转后的文件(扩展名为.1等)也应该在下一个循环周期内旋转。
这解决了这个问题:
/home/ubuntu/.pm2/logs/*.log {