2012-05-09 34 views
0

我有一個腳本,我需要每天在每月的01.00 am上運行。這是我做的:用cron標籤,使之發生如何測試使用crontab部署的腳本

#housekeeping 
0 1 1 * * sh /product/abc/tools/housekeeper.sh -t ABC 

如何檢查這個script是否正在運行?我是否必須等到它運行或者是否存在運行此腳本的進程,以便我可以確認它正在運行?

回答

1

通常的方法來測試的crontab腳本遵循以下準則:

  1. 設置時間模式「未來10分」。等待十分鐘。檢查cron的日誌文件和腳本/應用程序的日誌文件是否有錯誤。

  2. 設置所需的時間模式

這樣,您就可以確保該腳本工作。如果某件事情破裂了,那肯定是因爲時間模式。

您還應該將腳本的所有輸出重定向到日誌文件。 cron將發送一個郵件,其中包含腳本生成的任何輸出,但這是很少需要的。

如果您總是在日誌中添加「$ {timestamp} Started」這樣的條目,您可以在閒暇時檢查腳本是否按預期工作。

如果你想同時,那麼你必須使你的腳本/應用程序寫入日誌文件本身(即沒有在crontab輸出重定向),並打印任何錯誤stdout;這將使cron發送電子郵件。

0

我用簡單的事情是之前和所需的命令後追加一些特定文件,就像

*/2 * * * * (echo "Starting" >> ~/monitorCron.log; <Actual operation>; echo "End" >> ~/monitorCron.log;) > ~/cron.log 2>&1

此運行,每2分鐘,並添加字符串~/monitorCron.log

這是我在編程時做的同樣的事情,編寫一個打印語句,在哪裏以及什麼時候我都有疑問。