文件大小超出限制后,Logrotate不会旋转文件。


9

从logrotate联机帮助页。

除非一天的日志标准基于日志的大小,否则它将一天最多修改一次日志

根据手册页,如果配置基于日志大小,则logrotate应该旋转文件。但是,即使文件大小大于100k,我的文件也没有得到。

有人可以指出是什么问题。

我的配置

/home/jetech/work/lampstack-5.3.9-0/apache2/logs/access_log  {
    copytruncate
    compress
#    dateext
    rotate 365
    size 100k
    olddir /home/jetech/work/lampstack-5.3.9-0/apache2/old_logs
    notifempty
    nomail
    missingok
}

Answers:


17

您怎么知道文件没有旋转?

在我使用的Debian 6 Linode上,默认配置logrotate仅计划cron每天运行一次,而在那是一个非常奇怪的时间。如果每天只运行一次,那么自然每天只有一次机会来查看配置,进行比较并执行所需的轮换。

因此,您确定您实际上正在运行logrotate吗?可能要检查您的日志,/etc/cron*/etc/cron*/*查看logrotate计划何时以及多长时间运行一次。

例如,如果logrotate脚本存在于中/etc/cron.daily,则您可能需要将其移动到/etc/cron.hourly,或者,如果每小时不够用,则创建一个包含/etc/cron.d/以下内容的文件,以logrotate每10分钟运行一次:

*/10  *  *  *  *   root    /usr/sbin/logrotate /etc/logrotate.conf

0

所以logrotate实际上是这样的

  • 在配置中,我们指定运行频率(每天每小时每月
  • 有一个条目/etc/cron.xxxlogrotate的执行。
  • logrotate通过crontab运行

如果您每天在指定的时间(/ etc / crontab)中提到每天,则crontab进程将运行logrotate进程进行轮换。因此,文件大小限制将不起作用,因为该进程将永远无法运行。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.