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