2017-10-18 44 views
0

我们在系统中有多个cron,一些cron依赖于父cron,但有些时候,父cron比所有子cron都不能正常工作。如果cron作业停止工作,比服务器向用户电子邮件发送邮件或显示任何其他警报有任何可能性。Cron通过代码检查作业状态

+1

发表您可能遇到的一些代码和错误。另外,这个PHP如何相关? – kerbholz

+1

你的cron代码是什么。因为cron发送一封邮件给用户。如果它不设置为黑洞开发 –

回答

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"; 
0

可能是你可以在不同的服务器上运行一个监视器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 

您的监视器的cron首先应检查是否在那里父cron是运行的服务器是否可用。

Regards,