按代码检查Cron作业状态

时间:2017-10-18 06:31:04

标签: php server cron

我们在系统中有多个crons,一些crons依赖于父cron,但有时父cron停止比所有孩子cron不能正常工作。如果cron作业停止工作,则服务器发送邮件到用户电子邮件或显示任何其他警报是有可能的。

2 个答案:

答案 0 :(得分:0)

您可以解析crontab -l的输出,以查看是否存在特定的crontab条目。至于cron是否正在运行,你可以解析ps -eaf命令的输出,看看crond是否正在运行。

您可以使用PHP中的system()函数来调用命令行工具或exec()

EG:

exec("PATH=/usr/sbin:/usr/bin:/sbin:/bin; service crond status", $output, $return);
print $return . "n";

答案 1 :(得分:0)

可能是您可以在另一台服务器上运行monitor-cron来监控其他crons的健康状况。有几种监控方式:

1) Your parent cron could set a flag in database to indicate its running state.
2) Your monitor cron could read output of "ps -eaf" command to check if parent cron is running or not

您的monitor-cron应首先检查父cron正在运行的服务器是否可用。

问候,