Назад | Перейти на главную страницу

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

У меня есть задание cron, которое копирует некоторые файлы и тому подобное. Время от времени он будет давать сбой из-за недоступности хоста. Когда это начинается в случае неудачи я хотел бы получать уведомление, но я не хочу, чтобы каждые 5 минут приходили сообщения о том, что проблема не устранена.

Я могу придумать, как собрать решение, но мне интересно, существует ли уже где-то эта функция? Сервер - это OSX, но у меня есть доступ только к нему.

Что ж, простое решение - просто прикоснуться к файлу «состояния» после первого сбоя и уведомления. Затем при следующем запуске сценария проверьте наличие этого файла состояния и, если он существует, пропустите уведомление. При следующей успешной копии удалите файл состояния.

Что-то вроде контролировать потенциально может делать то, что вы хотите. Пусть ваш сценарий записывает свои ошибки в файл, а затем настройте monit для отправки предупреждения, когда журнал впервые станет ненулевым. Синтаксис чрезвычайно гибкий, поэтому я уверен, что вы можете настроить определение так, чтобы оно делало именно то, что вам нужно.

# cront
0 0 0 0 0 root script 2>&1 > /var/scripts/myscript_state

#monit config
check file myscriptdata with path /var/scripts/myscript_state
   if changed size then alert