2017-10-18 46 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,