У меня есть следующая конфигурация logrotate и 2 ГБ /var/log/messages:

/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron /var/log/network {
    hourly
    rotate 5
    size 1M
    compress
    postrotate
        service syslog-ng reload
    endscript
}

Я вручную запускаю logrotate -d -v /etc/logrotate.conf , вывод говорит:

rotating pattern: /var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron /var/log/network  1048576 bytes (5 rotations)
empty log files are rotated, old logs are removed
considering log /var/log/messages
   log needs rotating

И затем ничего не делается в /var/log/messages , файл по-прежнему имеет размер 2 ГБ.

Так была ли ошибка в конфигурации?

1 ответ1

2

Несколько подсказок в порядке важности:

-) файл конфигурации logrotate кажется нормальным, но кто-то звонит logrotate? Обычно это делается cron или anacron. Проверьте это, так как logrotate нужно, чтобы кто-то действительно вызывал его (обычно cron/anacron), в противном случае его настройка бесполезна. Проверьте настройки cron/anacron и убедитесь, что демон активен.

-) ежечасно не выглядит допустимым вариантом конфигурации, по крайней мере, в моей версии, проверьте это, чтобы быть уверенным

-) когда вы запускаете его вручную с помощью «-d», в файлы не вносятся никакие изменения, поэтому для этого запуска правильно, что ничего не произошло. Поэтому, чтобы убедиться, что хотя бы конфигурация на 100% подойдет, попробуйте это без -d. И, наконец, с помощью -f вызвать вращение, чтобы вы могли проверить наличие возможных разрешений или подобных проблем.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .