Назад | Перейти на главную страницу

Logrotate не вращает файл после того, как размер файла превышает предел.

Из man-страницы logrotate.

Он не будет изменять журнал чаще, чем один раз в день, если критерий для этого журнала не основан на его размере.

Согласно странице руководства, logrotate должен вращать файл, если конфигурация основана на размере журналов. Но мой файл не получается, даже если размер файла превышает 100 КБ.

Может кто-нибудь указать, в чем проблема.

Моя конфигурация

/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
}

Как узнать, что файл не поворачивается?

На 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

Так logrotate на самом деле работает так,

  • В конфигурации указываем рабочую частоту (ежедневно, ежечасно, ежемесячно)
  • Есть запись в /etc/cron.xxx для logrotate выполнить.
  • logrotate проходит через crontab

если вы упомянули ежедневно, каждый день в указанное время (/ etc / crontab) запускается процесс crontab logrotate процесс вращения. Таким образом, ограничение на размер файла не сработает, поскольку процесс никогда не запустится.