Logrotate不会自动工作(使用大小限制)

时间:2013-11-06 15:02:33

标签: logrotate

似乎我的轮换无效。如果我手动执行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
}

有任何线索吗?

1 个答案:

答案 0 :(得分:3)

这是一个古老的问题,但有人可能会发现这很有帮助。

默认轮换设置表示每周轮换,但是您在下面的访问日志配置中按大小指定轮换。

这些设置不能同时使用。时间或大小。 对于访问日志,我建议每天轮换一次。

如果您的日志白天增长超过2GB,那么您将需要每小时运行一次logrotate。这样可以确保logrotate将检查您的日志大小并进行相应的轮换。

但是,这意味着您必须在日志中添加时间戳,因为您希望同一天有多个日志,对吗?

还有logsize的maxsize参数,它应该与基于时间的旋转(每天,每周等)一起使用,但是我不确定它是否有效。您将需要进行实验。