在logrotate中带有copytruncate选项的无尽文件

当我用这个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.1test.1.1test.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 {