我有一個腳本,我需要每天在每月的01.00 am
上運行。這是我做的:用cron標籤,使之發生如何測試使用crontab部署的腳本
#housekeeping
0 1 1 * * sh /product/abc/tools/housekeeper.sh -t ABC
如何檢查這個script
是否正在運行?我是否必須等到它運行或者是否存在運行此腳本的進程,以便我可以確認它正在運行?
我有一個腳本,我需要每天在每月的01.00 am
上運行。這是我做的:用cron標籤,使之發生如何測試使用crontab部署的腳本
#housekeeping
0 1 1 * * sh /product/abc/tools/housekeeper.sh -t ABC
如何檢查這個script
是否正在運行?我是否必須等到它運行或者是否存在運行此腳本的進程,以便我可以確認它正在運行?
通常的方法來測試的crontab腳本遵循以下準則:
設置時間模式「未來10分」。等待十分鐘。檢查cron
的日誌文件和腳本/應用程序的日誌文件是否有錯誤。
設置所需的時間模式
這樣,您就可以確保該腳本工作。如果某件事情破裂了,那肯定是因爲時間模式。
您還應該將腳本的所有輸出重定向到日誌文件。 cron
將發送一個郵件,其中包含腳本生成的任何輸出,但這是很少需要的。
如果您總是在日誌中添加「$ {timestamp} Started」這樣的條目,您可以在閒暇時檢查腳本是否按預期工作。
如果你想同時,那麼你必須使你的腳本/應用程序寫入日誌文件本身(即沒有在crontab
輸出重定向),並打印任何錯誤stdout
;這將使cron
發送電子郵件。
我用簡單的事情是之前和所需的命令後追加一些特定文件,就像
*/2 * * * * (echo "Starting" >> ~/monitorCron.log; <Actual operation>; echo "End" >> ~/monitorCron.log;) > ~/cron.log 2>&1
此運行,每2分鐘,並添加字符串~/monitorCron.log
。
這是我在編程時做的同樣的事情,編寫一個打印語句,在哪裏以及什麼時候我都有疑問。