如果没有大小配置,Logrotate 不会旋转

如果没有大小配置,Logrotate 不会旋转

在 RedHat 上,我有一个如下的 logrotate 配置:

/custom/path/kibana/logs/*.log {
  missingok
  daily
  create 0644 suuser suuser
  rotate 7
  notifempty
  sharedscripts
  compress
  dateext
  dateformat -%Y%m%d%s
  su suuser suuser
  postrotate
      /bin/kill -HUP $(cat /custom/path/kibana/run/kibana.pid 2>/dev/null) 2>/dev/null
  endscript
}

我使用调试和强制标志运行了 logrotate,以验证它是否运行正常。它确实轮换了我的日志文件。所以我认为我的配置一切正常。

但是,在 crontab 运行期间,第二天我发现日志没有轮换。我尝试在调试模式下运行 logrotate 并收到以下消息:

日志不需要旋转(日志已经旋转)不运行 postrotate 脚本,因为没有日志被旋转

我删除了 logrotate.status 文件,因为下次运行 crontab 时它会从头开始运行并恢复正常。但第二天,我注意到上述配置所针对的日志文件没有出现在 logrotate.status 文件中,而且当我尝试手动运行时,仍然出现相同的消息,提示日志已轮换。

我非常困惑,特别是考虑到当我在配置中添加尺寸标准时,它运行良好!

你们能解释一下吗?

非常感谢您的帮助和解释。

亲切的问候,

皮埃尔

相关内容