в debian

Error: line 5 too long in state file /var/lib/logrotate/status

logrotate
Осенним утром с одного из серверов начали приходить письма следующего содержания:

error: line 5 too long in state file /var/lib/logrotate/status
error: could not read state file, will not attempt to write into it

Давайте разберемся и устраним проблему!

Короче говоря не ротейтятся логи — как минимум, неприятная ситуация. Подключаемся к проблемному серверу и проверяем файл /var/lib/logrotate/status:

cat /var/lib/logrotate/status

и видим результат:

logrotate state -- version 2
"/var/log/exim4/mainlog.monthly" 2015-9-9
"/var/log/exim4/mainlog.weekly" 2015-9-9
"/var/log/exim4/mainlog" 2015-9-9
log/apache2/access-partner.log" 2015-9-5

Более наглядный результат получится если открыть этот файл в редакторе nano:

nano /var/lib/logrotate/status

Действительно, как и было написано в письме line 5 too long in state file /var/lib/logrotate/status:

logrotate state -- version 2
"/var/log/exim4/mainlog.monthly" 2015-9-9
"/var/log/exim4/mainlog.weekly" 2015-9-9
"/var/log/exim4/mainlog" 2015-9-9
@^@^@^...@^@^@^@^@^@log/apache2/access-partner.log" 2015-9-5

Примечание. Я заменил довольно длинную последовательность символов @^ на троеточие.

Исправить ошибку Error: line 5 too long in state file /var/lib/logrotate/status можно следующим образом:

  • сделаем резервную копию файла /var/lib/logrotate/status переименовав его:
mv /var/lib/logrotate/status /var/lib/logrotate/status.bak
  • запустим ротацию всех логов согласно конфигам, описанным в /etc/logrotate.d/:
logrotate /etc/logrotate.d/*
  • убедимся что создался новый файл /var/lib/logrotate/status:
ls -l /var/lib/logrotate/status

Примечание. Также можно запустить logrotate с параметром -f (force).

После проделанных действий логи ротейтятся в штатном режиме и писем с ошибками Error: line 5 too long in state file /var/lib/logrotate/status больше нет.

Добавить комментарий