不断检查以确保php脚本正在运行

是否可以configuration我的CentOS VPS不断检查以确保php脚本正在运行? 目前我使用的屏幕php方法工作正常,但如果终止以某种方式,我怎么能启动备份?

我试图添加命令到/etc/rc.d/rc.local,但是今天早上我检查了,脚本没有运行。

这个任务非常适合像Monit这样的进程监视器。

如果您的PHP进程生成一个PID文件,Monit的监控configuration将会变得更容易。 描述如何使用Monit来检查和启动PHP进程的文章可以在这里find 。

你可以编写一个检查脚本来分析ps命令的输出,寻找你的php实例。 如果存在,那么你的脚本应该静静地退出; 如果没有,那么你的脚本应该启动你的PHP程序,然后写一条消息给标准输出警告,该进程已经死了,必须重新启动。

然后,将你的检查脚本添加到你的crontab(例如)

 [email protected] */5 * * * * /path/to/checking-script.sh 

在这个例子中,你的检查脚本每5分钟运行一次。 如果php进程死了,你的检查脚本重新启动它,那么它也将输出将通过电子邮件发送给你的提示消息(作为警报)。

这个任务非常适合AlertFox,Pingdom,Monitis等外部监控(所有这些都有免费的计划)。

方法总是相同的:创build一个PHP页面来检查PHO脚本是否正在运行,监视服务会定期调用它:

http://blog.alertfox.com/2011/01/monitoring-disk-space-and-other-status.html

你可以使用supervisord来达到这个目的。 这是一个python应用程序,但安装非常简单。 Supervisord在其configuration中提供了一个自动重新启动指令,这将重新启动脚本是死的。

你可以在http://phpadvent.org/2009/daemonize-your-php-by-sean-coates上阅读更多