似乎我的轮换无效。如果我手动执行logrotate它就像它应该的那样工作。运行logrotate是因为我可以在日志中看到它。这就是我所拥有的:
# see "man logrotate" for details
# rotate log files weekly
weekly
# keep 4 weeks worth of backlogs
rotate 4
# create new (empty) log files after rotating old ones
create
# use date as a suffix of the rotated file
dateext
# uncomment this if you want your log files compressed
#compress
# RPM packages drop log rotation information into this directory
include /etc/logrotate.d
/home/www/logs/access_log {
sharedscripts
delaycompress
size 2G
compress
dateext
maxage 30
postrotate
/usr/local/bin/apachectl -k graceful
endscript
}
有任何线索吗?
答案 0 :(得分:3)
这是一个古老的问题,但有人可能会发现这很有帮助。
默认轮换设置表示每周轮换,但是您在下面的访问日志配置中按大小指定轮换。
这些设置不能同时使用。时间或大小。 对于访问日志,我建议每天轮换一次。
如果您的日志白天增长超过2GB,那么您将需要每小时运行一次logrotate。这样可以确保logrotate将检查您的日志大小并进行相应的轮换。
但是,这意味着您必须在日志中添加时间戳,因为您希望同一天有多个日志,对吗?
还有logsize的maxsize参数,它应该与基于时间的旋转(每天,每周等)一起使用,但是我不确定它是否有效。您将需要进行实验。