我一直在开发一个 systemd 服务来包装管理脚本,我正在尝试优雅地处理它完全中断。
现在我已经Restart
设置为always
所以当出现故障时它会再次尝试,但一些故障状态需要注意(缺少配置文件、错误的 SQL 等),所以我不希望它在不可纠正的状态下在后台持续旋转。
我发现StartLimitInterval
, StartLimitBurst
, 和StartLimitAction
在 Y 秒内 X 次失败后停止尝试重新启动它,但事实证明,唯一可用的操作StartLimitAction
是重新启动或关闭机器,这有点矫枉过正。
我一直在研究OnFailure
并编写了一个迷你服务,在它被触发时发送警报电子邮件,但 OnFailure 每次服务终止时都会触发,而不是在达到开始限制时触发,所以我们收到了一堆电子邮件而不是一个。
下一步尝试什么的任何想法?
systemd ×1