Я работаю над программой, которая создает большой файл журнала.
Я хочу справиться с этим с помощью logrotate.
Это конфигурация, в которую я положил /etc/logrotate.d/
:
/var/log/myproject.log {
hourly
maxsize 1
rotate 6
missingok
notifempty
compress
nocreate
copytruncate
su www-data www-data
}
( /var/log/myproject.log
имеет владельца www-data
)
команды
sudo logrotate -vf /etc/logrotate.conf
и
sudo logrotate -vf /etc/logrotate.d/myproject
поверните журнал правильно.
Однако после звонка их /etc/cron.hourly
пусто. Что означает, что logrotate не вызывается ежечасно.
У меня гарантированно есть
logrotate
сценарий/etc/cron.daily
?Проверяет ли скрипт частоту обновления файлов журнала. Т.е. , если у меня есть
logrotate
сценарий в/etc/cron.daily
и для некоторого файла журналаX
в/etc/logrotate.d/
I набораweekly
настроек, будетX
вращаться ежедневно или еженедельно?Могу ли я просто скопировать и вставить
/etc/cron.daily/logrotate
в/etc/cron.hourly/
? Могу ли я вырезать и вставить?Должен ли я добавить
0anacron
файл в/etc/cron.hourly/
?Должен ли я сделать что-то еще, чтобы включить почасовую регистрацию?
grep -r logrotate /etc/cron*
Ответы:
Нет.
От
man logrotate
:Так да.
Опять же из справочной страницы:
Так что, да, вы должны переместить сценарий. Проверяя
cron.daily
скрипт в моей системе, я думаю, что его перемещение должно работать нормально.источник