Отладка logrotate

logrotate запускается по крону один раз в сутки.

/etc/cron.daily/logrotate

Для отладки logrotate предусмотрен ключ -t который пишет операции которые должен сделать но из-за ключа отладки не делает в реальности:

/usr/sbin/logrotate -d /etc/logrotate.conf

Во время отладки конфигурационных файлов logrotate на боевом сервере такую команду можно запускать без опасений, что другие log-файлы будут прокручены слишком много раз и потеряется важная информация которая может ещё пригодиться для поиска проблем.

logrotate --help
Usage: logrotate [OPTION...] <configfile>
  -d, --debug               Don't do anything, just test (implies -v)
  -s, --state=statefile     Path of state file
  -v, --verbose             Display messages during rotation

Ключом -v можно пользоваться в команднике /etc/cron.daily/logrotate чтобы во время работы отладочная информация записывалась в файл:

logrotate -v /etc/logrotate.conf 2>&1 | sudo tee -a /var/log/logrotate.log

Для чего нужно поправить файл /etc/cron.daily/logrotate
Возможно для создания файла вам потребуется добавить исключение SELinux для нового log-файла /var/log/logrotate.log.

А для проверки статуса я пользуюсь таким однострочником:

cat /var/lib/logrotate.status | awk '{printf("%-12s %s\n", $2, $1)}' | sort -t'-' -k1,1 -nk2,2
state        logrotate
2011-9-19    "/var/log/wtmp"
2011-10-11   "/var/log/fail2ban.log"
2011-10-11   "/var/log/shorewall-init.log"
2012-1-1     "/var/log/boot.log"
2015-1-1     "/var/log/yum.log"
2015-1-9     "/var/log/dracut.log"
2015-10-18   "/var/log/cron"
2015-10-18   "/var/log/maillog"
2015-10-18   "/var/log/messages"
2015-10-18   "/var/log/pureftpd.log"
2015-10-18   "/var/log/secure"
2015-10-18   "/var/log/spooler"
2015-10-1    "/var/log/bareos/bareos-audit.log"
2015-10-1    "/var/log/bareos/bareos.log"
2015-10-1    "/var/log/btmp"
2015-10-1    "/var/log/zabbix/zabbix_agentd.log"

На некоторых дистрибутивах файл статуса может находиться в подкаталоге с таким путём:

/var/lib/logrotate/status