2012-03-05 160 views
1

我每隔15分鐘運行一次cronjob,並且我希望在不運行作業時收到通知(最好通過電子郵件)。也就是說,如果cron根本沒有運行這項工作。檢查是否執行cronjob

我知道我可以手動檢查日誌文件,但我希望這是一個自動檢查每次cron應該執行命令。

cron是否提供了這樣做的任何方法,還是我需要別的東西?

+1

你是什麼意思的「不執行」?它根本沒有運行,或者它崩潰,永遠不會結束?因爲它不能運行,它似乎CRON將不得不太破碎,不能發送電子郵件...? – 2012-03-05 13:40:16

+0

對不起,如果問題不清楚。你所描述的正是我的問題所在。我所說的「不執行」是指它根本不運行。那麼,如果CRON本身導致作業不運行,我該如何自動執行此任務。 – trbox 2012-03-05 13:46:08

+0

我看不出任何方式,如果你認爲'crond'沒有啓動或崩潰。誰或什麼會將您的電子郵件發送給您? – 2012-03-05 13:58:03

回答

2

如果你想擁有真正強大的解決方案,你需要使用第二臺機器。你的第一臺機器需要在某個地方放置一段時間(在網站上發佈或其他共享資源),然後第二臺機器需要定期檢查這個時間,並且如果它與當前時間不一致 - 請將電子郵件發送給你。

1

您可以設置一個cron發送確認作業執行的郵件。新增工作前行下面一行在crobtab文件

MAILTO='[email protected]' 
#Cron entry goes here. 


MAILTO='[email protected]' 
#second cron entry goes here. 

然後讓每個執行作業打印/呼應的東西(在啓動本身)。像一個簡單的陳述'工作開始'。在作業執行時,該輸出將被郵寄給給定的郵件ID。如果你收到郵件cron被執行,如果沒有錯,請給它一張支票。

+0

這樣你就可以在工作執行時經常收到電子郵件。我認爲最重要的一點是,當出現問題時,要經常收到電子郵件。 – sha 2012-03-05 15:22:54