Как получить уведомление по электронной почте при сбое logrotate?

В течение нескольких месяцев я не получал все требуемые файлы журналов по электронной почте после еженедельной ротации журналов и, наконец, нашел причину: две конфигурации в /etc/logrotate.d были повреждены, недействительны. Это на моем сервере Ubuntu 15.04.

Это вызвало сбой службы logrotate в середине.

Я сам это выяснил, выполнив ручную ротацию логов с

$ sudo logrotate -v -f /etc/logrotate.conf

Я хотел бы, чтобы меня уведомили об этом по электронной почте. Или просмотреть некоторые записи журнала о неудачной регистрации в / var / log, но нет, ничего не произошло.

У вас есть идея, как я могу настроить оповещения по электронной почте, когда логистика не удалась? Или они хотя бы вошли во что-то вроде /var/log/logrotation.log и /var/log/logrotation.err?

Спасибо, куча

1 ответ

Решение

Установите ежедневное задание cron для запуска logrotate с помощью '-d'. Если вывод эха не равен нулю, отправьте электронное письмо с предупреждением, используя mailx или что-то еще. Образец:

#!/bin/sh

LOGROTATE_CONFPATH=/etc/logrotate.d

cd $LOGROTATE_CONFPATH
for i in `ls *`; do
  if ! logrotate -d $i &> /dev/null; then
      mail -s "ERROR IN LOGROTATE FILE:  $i" myemail@mycompany.com < /dev/null
  fi
done
Другие вопросы по тегам