几天前我开始在新服务器设置(实际上是三台)上使用 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 点左右运行的,所以我们得到了错误日期的六个小时的日志,但这没关系。