是否可以配置我的 CentOS VPS 以持续检查以确保 php 脚本正在运行?目前我正在使用屏幕 php 方法,该方法运行良好,但如果它以某种方式终止,我该如何启动备份?
我尝试将命令添加到 /etc/rc.d/rc.local,但是今天早上我检查时,发现该脚本没有运行。
答案1
答案2
您可以编写一个检查脚本来解析命令的输出ps
,查找您的 php 实例。如果存在,则您的脚本应默默退出;如果不存在,则您的脚本应启动您的 php 程序,然后向 stdout 写入一条消息,警告该进程已终止,必须重新启动。
然后,将检查脚本添加到你的 crontab 中(例如)
[email protected]
*/5 * * * * /path/to/checking-script.sh
在此示例中,您的检查脚本每 5 分钟运行一次。如果 php 进程已停止,而您的检查脚本重新启动了该进程,那么它还会输出上述消息,并通过电子邮件发送给您(作为警报)。
答案3
这项任务非常适合一些外部监控,如AlertFox、Pingdom、Monitis等(所有这些都有免费计划)。
方法始终相同:创建一个 PHP 页面来检查 PHO 脚本是否正在运行,并且监控服务定期调用它:
http://blog.alertfox.com/2011/01/monitoring-disk-space-and-other-status.html
答案4
您可以使用supervisord来实现此目的。它是一个python应用程序,但设置起来非常简单。Supervisord在其配置中提供了一个自动重启指令,当脚本死机时,它将重新启动脚本。
您可以在http://phpadvent.org/2009/daemonize-your-php-by-sean-coates