【发布时间】:2016-03-01 19:45:17
【问题描述】:
有一些批处理类型的作业我想从 cron 转移到 Monit,但我正在努力让它们正常工作。这些脚本通常每天运行一次,但有时必须在当天晚些时候重新运行。目标是利用 monit 和 m/monit 前端重新运行,并以与 monit 下的其他事物类似的方式收到故障警报。
以下是我的第一次尝试。我知道文档说对分钟字段使用范围/通配符,但我将我的监控守护程序设置为每 20 秒循环一次,所以我认为我可以摆脱这个。
check program test.sh
with path "/usr/local/bin/test.sh"
every "0 7 * * *"
if status != 0 then alert
这似乎不起作用,因为它似乎在 NEXT 运行时获取了程序的退出状态。所以我有一个僵尸进程一直坐到第二天早上 7 点,那时我会看到前一天运行的状态。
如果它立即运行,或者如果有办法将某些东西安排为“批处理”,在启动时只运行一次(无论是从命令行还是 web gui),那就太好了。下面的例子。
check program test.sh
with path "/usr/local/bin/test.sh"
mode batch
if status != 0 then alert
有可能做我想做的事吗?是否可以安排一个在启动时只运行一次的“检查程序”或使用 monit 支持的“每个 [cron]”类型语法?
TIA 有任何建议。
【问题讨论】:
-
运气好吗?即使我有类似的要求。如果您有解决方案,请告诉我
-
最新版本的 monit (5.18) 解决了僵尸进程和退出值直到下一次运行时才被处理的问题。
标签: monit