当文件的校验和失败时,我想重新启动由monit监控的进程。目前我使用
check process prosody with pidfile /var/run/prosody/prosody.pid
depends certificate_file
start program "/etc/init.d/prosody start"
stop program "/etc/init.d/prosody stop"
restart program "/etc/init.d/prosody restart"
check file certificate_file with path /etc/prosody/certs/fullchain.pem
if changed checksum then exec "/usr/bin/monit restart prosody"
但我想有一些命令,if changed checksum then restart prosody
而不是使用 monit 二进制文件exec
。
该restart
操作似乎仅限于重新启动当前监视的进程,因此check file
块中的操作不会执行任何操作。
简单地把动作重启
事件重启将传播到所有依赖项,日志类似于
请注意,Monit 将继续使用此配置一次又一次地触发事件 -> 因此触发不断重启。
此外,似乎必须指定启动和停止操作,否则什么都不做(可能是一个错误)。(用 monit 5.14 测试)
编辑:使用升级的 Monit 版本 5.21.0,行为会更好,并且没有无休止的重启循环