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

Logrotate не работает centos 6.6

У меня есть следующая конфигурация для ротации журналов приложений.

/opt/tomcat/logs/app-web.txt {
    copytruncate
    daily
    size 500M
    compress
    delaycompress
    rotate 0
    missingok
    notifempty
}

/opt/tomcat/logs has a lot of files


app-web.txt
app-web.txt.1
app-web.txt.2
app-web.txt.3
app-web.txt.4
..
..
..
..
..
app-web.txt.100

Я поместил конфигурацию в /etc/logrotate.d/app-web. Я использую CentOs 6.6

Я хочу иметь только 9 файлов, например aap-web.txt и app-web.txt.1.gz до app-web.txt.9.gz

Каждый файл внутри / opt / tomcat / logs имеет размер 498 MБ. и создаются они каждые 1 час 30 мин.

 $cat /var/lib/logrotate.status 

отображает время, которое я пробежал вручную. Он не запускается cron автоматически.

rotate 0

со страницы руководства

повернуть счет Перед удалением или отправкой по адресу, указанному в почтовой директиве, файлы журналов меняются количество раз. Если count равно 0, старые версии удаляются, а не меняются.

Ты наверное хочешь

rotate 9

Что касается того, почему вы видите все другие файлы, я предполагаю, что они старые (проверьте дату / время), и logrotate не рассматривает их, потому что они не соответствуют имени app-web.txt. Я бы просто заархивировал те, которые мне были нужны, на соответствующий период, а затем удалил их. Затем я ожидал, что logrotate начнет управлять файлами, как ожидалось.

Обратите внимание, что обычно cron настроен на запуск logrotate только один раз в день (/etc/cron.dailylogrotate). Если вы хотите вращать файлы в зависимости от размера и этот размер достигается чаще, чем один раз в день, вам нужно будет запускать logrotate чаще.