У меня есть служба Systemd, которая должна работать постоянно. Я хотел бы получать оповещения по электронной почте в случае остановки службы? Каков наилучший способ сделать это в Linux?
2 ответа
Вы можете использовать параметр ExecStopPost
в конфигурации службы, как описано в systemd.service, для отправки электронного письма при остановке службы. Если вы не хотите получать электронное письмо, когда служба корректно завершает работу , вы можете использовать переменную среды SERVICE_RESULT
(задокументированную в systemd.exec) в сценарии, отправляющем электронное письмо.
У вас может быть короткий сценарий bash, который проверяет состояние службы и отправляет уведомление, если она не запущена. Для отправки уведомлений вы можете использовать Pushover, который довольно легко интегрировать со скриптом bash после генерации ключей безопасности.
Ваш bash-скрипт может быть добавлен в crontab
для периодического выполнения, скажем, каждые 5 минут (в основном, любой период, который вы хотите).