rac*_*ear 3 scripting shell daemon
我只需要构建两个在不同端口上运行的守护进程实例。假设它们都为某些应用程序提供关键任务。
当其中一个无法提供服务时,如何执行一些自动任务(例如 shell 脚本)来检查两个守护进程?
什么样的脚本可以始终检查守护程序的生命周期,并且如果其中一个守护程序意外停止,也许可以执行其他一些作业?
monit
在这种情况下很棒 - 它在本地主机上运行,因此您不需要网络连接来重新启动守护程序(以防它失败,或者守护程序负责网络)。它在系统上的占用空间也很小,您可以使用它来监视其他守护进程/磁盘空间/等。以及。
创建一个启动/停止脚本(类似于在/etc/init.d/
系统用于正常操作的运行级别中的那些并为其创建符号链接,确保您的守护进程将在重新启动时启动并在关闭时正确停止。如果您的守护进程没有 pidfile,请创建一种使用start-stop-daemon
脚本。
之后,monit
为您的守护程序安装并创建配置,如下所示:
使用 pidfile /var/run/daemond.pid 检查进程守护进程 启动程序“/etc/init.d/daemond start” 停止程序“/etc/init.d/daemond stop” 如果端口 1234 失败,则在 10 个周期内键入 TCP 5 次,然后重新启动 如果 3 个在 5 个周期内重新启动,则警报
此配置将确保如果守护进程在 tcp 端口 1234 上停止响应或停止运行,它将使用 init 脚本重新启动。monit
还会通过电子邮件向您发送警报,或执行其他操作,具体取决于您的配置方式。只需查看monit(1)
联机帮助页。