Monit和多个操作:在Monit重启命令中链接命令?

经过一番研究,发现即使在重启一个服务的时候能够find一些关于多重行为的讨论,似乎也不可能实现:

if failed port 80 and protocol http then exec /home/sweet/crazy-stuff.pl and restart 

当在monitrcconfiguration文件中声明一个服务的重启命令时,可以尝试这样的事情:

 restart program = "perl /home/sweet/crazy-stuff.pl && /etc/init.d/server restart" 

作为monit -t不要提到任何错误,我宁愿先问一下做坏事。

你应该使用exec和bash子shell,例如:

 exec "/bin/bash -c '/etc/init.d/server restart && perl /home/sweet/crazy-stuff.pl'" 

但是,最佳实践build议对所有操作使用单个脚本(即在您的shell脚本中包含init.d restart命令。