Logrotate 说“日志需要旋转”,然后什么也不做

Logrotate 说“日志需要旋转”,然后什么也不做

我有以下 logrotate 配置和 2 GB /var/log/messages

/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron /var/log/network {
    hourly
    rotate 5
    size 1M
    compress
    postrotate
        service syslog-ng reload
    endscript
}

我手动运行logrotate -d -v /etc/logrotate.conf,输出显示:

rotating pattern: /var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron /var/log/network  1048576 bytes (5 rotations)
empty log files are rotated, old logs are removed
considering log /var/log/messages
   log needs rotating

然后什么也没做/var/log/messages,文件仍然有 2GB 大。

那么是配置出了错误吗?

答案1

以下是按重要性排序的一些提示:

-) logrotate 配置文件看起来不错,但是有人调用 logrotate 吗?这通常由 cron 或 anacron 完成。检查一下,因为 logrotate 确实需要有人调用它(通常是 cron/anacron),否则配置它是没用的。检查您的 cron/anacron 配置并检查守护进程是否处于活动状态。

-) 至少在我的版本中,hourly 看起来不是一个有效的配置选项,请查看此处以确保

-) 当您使用“-d”手动运行它时,不会对文件进行任何更改,因此对于该运行来说,没有发生任何事情是正确的。因此,为了确保至少配置 100% 正确,请尝试不使用 -d。最后使用 -f 强制轮换,以便您可以检查最终的权限或此类问题。

相关内容