Logrotate,这是我想要做的正确的配置吗?

Logrotate,这是我想要做的正确的配置吗?

几天前我开始在新服务器设置(实际上是三台)上使用 logrotate。我的配置如下。

/var/www/mywebsite.com/logs/*.log {
    rotate 14
    daily
    dateext
    compress
    delaycompress
    sharedscripts
    postrotate
        /usr/sbin/apache2ctl graceful > /dev/null
    endscript
}

问题是这会将几天的日志放入同一个文件中。例如,我目前有一个名为 access.log-20121005 的文件,其中包含 10 月 3 日、10 月 4 日和 10 月 5 日的日志。这是正确的行为吗?我希望它为每天创建一个日志文件并保留 14 天的日志。

任何帮助都值得感激,谢谢。

答案1

10 月 3 日、10 月 4 日和 10 月 5 日。这是正确的行为吗?

为什么你要每天拆分日志?有很多分析工具可以查询你的愿望...在我的生产系统中,日志轮换是每月一次(在高性能系统上是每周一次)...

您可以在此处找到有关分析工具的简短概述http://robert.boeck-horn.de/logfile-analyzer.php(概览为德文,登陆页面为英文)

答案2

事实证明它工作正常。之所以会把三天的数据放进去,是因为它之前已经运行了两天,并且把所有数据都放在了第一个日志中。现在看起来分割正确了,除了它是在早上 6 点左右运行的,所以我们得到了错误日期的六个小时的日志,但这没关系。

相关内容