Shell脚本在其中一个守护程序死掉时执行某些操作?

前端之家收集整理的这篇文章主要介绍了Shell脚本在其中一个守护程序死掉时执行某些操作?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我只需要在不同的端口上构建两个守护进程实例.让我们说它们都为某些应用程序提供关键任务.

如果其中一个守护程序无法提供服务,我如何执行一些自动任务(例如shell脚本)执行以检查两个守护程序?

什么样的脚本可以随时检查守护程序的生命,如果其中一个守护程序偶然停止,可能会执行其他一些工作?

monit在这种情况下非常棒 – 它在localhost上运行,因此您不需要网络连接来重新启动守护程序(如果它失败,或守护程序负责网络连接).它在系统上的占用空间也很小,您可以使用它来监视其他守护进程/磁盘空间/等.同样.

创建一个启动/停止脚本(类似于/etc/init.d/中的脚本,并在系统用于正常操作的运行级别中为它创建符号链接,确保您的守护程序在重新启动时启动并在关闭时正常停止.如果您的守护程序没有pidfile,使用start-stop-daemon脚本创建一个.

之后,安装monit并为您的守护进程创建配置,如下所示:

check process daemond with pidfile /var/run/daemond.pid
    start program "/etc/init.d/daemond start"
    stop program "/etc/init.d/daemond stop"
    if Failed port 1234 type TCP for 5 times within 10 cycles then restart
    if 3 restarts within 5 cycles then alert

此配置将确保如果守护程序在tcp端口1234上停止响应,或将停止运行,则将使用init脚本重新启动它. monit还会通过电子邮件向您发送提醒,或者根据您的配置方式执行其他操作.查看monit(1)联机帮助页.

原文链接:https://www.f2er.com/bash/385251.html

猜你在找的Bash相关文章