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

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

是否可以配置我的 CentOS VPS 以持续检查以确保 php 脚本正在运行?目前我正在使用屏幕 php 方法,该方法运行良好,但如果它以某种方式终止,我该如何启动备份?

我尝试将命令添加到 /etc/rc.d/rc.local,但是今天早上我检查时,发现该脚本没有运行。

答案1

此任务非常适合于像监控

如果您的 PHP 进程生成 PID 文件,使用 Monit 进行监控配置将变得更加容易。有一篇文章介绍了如何使用 Monit 检查和启动 PHP 进程这里

答案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

相关内容