Где logrotate сохраняет свой собственный журнал?


25

Я logrotateработал на машине ECS AWS, вращающей логи Apache. После упаковки логи Apache сохраняются в AWS S3 через s3fs. Проблема в том, что я недавно заметил, что у меня не было повернутых журналов. В S3 у меня есть старые журналы со дня 48-> 60, но 1-> 47 не появляется.

Мой вопрос: где logrotate сохраняет свой собственный журнал? Возможно, у меня какая-то проблема с s3fs, но мне нужно знать, прежде чем что-то делать. Я пытался где-то найти логи, но не смог их найти.

Есть идеи?

Ответы:


20

logrotateпо умолчанию ничего не регистрирует. обычно это должно быть где-то в вашем cron, например:

$ grep -r -- 'logrotate.conf' /etc/cron*
/etc/cron.daily/logrotate:/usr/sbin/logrotate /etc/logrotate.conf

Вы можете либо запустить это вручную, чтобы увидеть, что не так, или перенаправить вывод logrotate в файл в вышеупомянутом cron, чтобы увидеть, что произошло на следующий день.

Вероятно, где-то конфигурация неверна и вызвала сбой запуска logrotate.


+1 при запуске logrotate вручную, чтобы увидеть, что не так
cjc

спасибо за ответ, но что я действительно хочу знать, что произошло в моей системе, чтобы получить такой добрый результат. Благодарность!
Женева

запускает ли logrotate вручную ошибки? если есть ошибки, вам нужно исправить их в файле conf или /etc/logrotate.d/apache (или apache2).
johnshen64

4
Вы можете использовать -dфлаг отладки и флаг -fфорсирования, чтобы точно увидеть, что пытается сделать logrotate. -dотключает действие, но напечатанные сообщения будут по-прежнему утверждать, что они меняют вещи.
Дэвид Лорд

При запуске /usr/sbin/logrotate /etc/logrotate.conf, я бы добавил, -vчтобы увидеть подробный журнал.
Денис Голомазов


5

Еще одно хорошее место, чтобы посмотреть /var/log/messagesна CentOS для ошибок, таких как это от cron.daily/etc/cron.daily/logrotate

logrotate: ALERT exited abnormally with [1]

Вы также можете запустить в режиме отладки вручную и проверить на наличие ошибок:

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

Источник: https://access.redhat.com/solutions/32831


2

Если вы работаете logrotateиз cron и не перенаправляете выходные данные, выходные данные, если они есть, будут отправлены в электронную почту для любого идентификатора, выполняющего задание cron. Я перенаправляю свой вывод в файл журнала.

Например:

25 3 * * 7 /usr/sbin/logrotate -s /home/user/conf/mwarelogrotate.state 
/home/user/conf/mwarelogrotate.conf >> /home/user/logs/logrotate.log 2>&1

1

Проверьте /etc/logrotate.confглобальные параметры конфигурации, которые могут влиять на задачи, настроенные через/etc/logrotate.d/


0

Когда logrotate не вращает журналы или не переходит в сбойное состояние, рекомендуется вручную запустить logorate в режиме отладки, чтобы увидеть, какие ошибки он перечисляет, например:

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

Эта команда проверяет ротацию журналов для всех служб, в которых находятся файлы /etc/logrotate.d. Если в нем перечислены ошибки (например, ошибки, вызванные дублирующимися записями журнала), вы будете знать, почему у logrotate есть проблемы.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.