经过一番研究,发现即使在重启一个服务的时候能够find一些关于多重行为的讨论,似乎也不可能实现:
if failed port 80 and protocol http then exec /home/sweet/crazy-stuff.pl and restart
当在monitrc
configuration文件中声明一个服务的重启命令时,可以尝试这样的事情:
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命令。