我有 Systemd 服务,该服务应该一直运行。如果服务停止,我想通过电子邮件收到警报?在 Linux 中最好的方法是什么?
答案1
您可以在服务配置中使用该ExecStopPost
设置,如systemd.service每当服务停止时发送电子邮件。如果您不想在服务正常退出时收到电子邮件,可以使用SERVICE_RESULT
环境变量(记录在systemd.exec) 在发送电子邮件的脚本中。
答案2
你可以编写一个简短的 bash 脚本来检查服务状态,如果服务未运行,则推送通知。要推送通知,你可以使用推倒生成安全密钥后,它很容易与 bash 脚本集成。您可以将 bash 脚本添加到crontab
定期执行中,比如每 5 分钟执行一次(基本上是您想要的任何时间段)。