Logrotate не вращающийся файл после превышения размера файла.
Из manrotate manpage.
Он не будет изменять журнал более одного раза в день, если критерий для этого журнала не основан на размере журнала.
Согласно man-странице, 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
}
2 ответа
Откуда вы знаете, что файл не поворачивается?
На 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 для ротации. Таким образом, ограничение размера файла не будет работать, так как процесс никогда не будет запущен.