有一些批处理类型的工作,我想从cron转移到Monit,但我正在努力让它们正常工作。这些脚本通常每天运行一次,但有时必须在当天晚些时候重新运行。目标是利用monit& m / monit前端重新运行,并以与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支持的“every [cron]”类型语法?
任何建议的TIA。
答案 0 :(得分:0)
最新版本的monit(5.18)现在可以在下一个守护程序循环中获取退出状态,而不是像过去那样(可能直到第二天)才会在下一次执行程序时获取退出状态。