Error line 5 too long in state file /var/lib/logrotate/status
Oct 1, 2015 16:30 · 201 words · 1 minute read
Осенним утром с одного из серверов начали приходить письма следующего содержания:
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
больше нет.