监控仅执行一次

时间:2019-05-06 19:09:47

标签: monit

监控当前执行一次。我可以在日志文件中看到它在每个周期进行一次检查,但是,当我重新加载monit时,执行仅发生一次。

check host somehost with address example.com
# every "* 8-19 * * 1-5"
 if failed
    port 443
    protocol https
    and certificate valid > 1095 days
 then exec "/var/local/bin/mtCert.sh"

1 个答案:

答案 0 :(得分:0)

监控基于triggers,它基本上仅跟踪更改

因此,如果配置的状态未更改,则默认情况下,monit不会再次触发脚本。请参见Monit Changelog上有关5.16.0的注释:

  

已修复::现在,exec操作仅在状态更改时执行一次,与警报操作相同。如果错误仍然存​​在,则可以使用新的repeat选项在给定的周期数后重复执行exec操作。语法:

if <test> then exec <script> [repeat every [x] cycle(s)]
     

如果您想要旧的行为,请使用“重复每个周期”。示例:

if failed port 1234 then exec "/usr/bin/myscript.sh" repeat every cycle

因此,如果实际上您需要多次调用该脚本,只需添加repeat

check host somehost with address example.com
# every "* 8-19 * * 1-5"
  if failed
    port 443
    protocol https
    and certificate valid > 1095 days
  then exec "/var/local/bin/mtCert.sh"
  and repeat every 10 cycles