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 автоматически.

-1
задан 20 July 2016 в 08:12
1 ответ
 повернуть 0
 

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

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

Вы, вероятно, захотите

rotate 9

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

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

2
ответ дан 5 December 2019 в 19:24

Теги

Похожие вопросы