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