我有計劃或多或少像這樣的IBM AIX服務器上cron
工作:IBM AIX cron作業不執行
0 6 * * * (date >> ~/executions.log;. ~/.profile; cd /usr/path/to/the/script; /usr/path/to/the/script/ThisIsTheScript.sh) > /dev/null 2>&1
當我安排一個試運行是這樣的:
0,37 6 * * * (date >> ~/executions.log;. ~/.profile; cd /usr/path/to/the/script; /usr/path/to/the/script/ThisIsTheScript.sh) > /dev/null 2>&1
...該作業只會運行到它將最後執行日期追加到~/executions.log
的部分。由於這個腳本調用了一個非常大的應用程序 - 我們稱之爲gargantuanprogram
- 一旦作業觸發它應該顯示在ps ax | grep gargantuanprogram
上。但它並沒有,它甚至不運行ThisIsTheScript.sh
,因爲所述腳本在啓動時發出電子郵件通知,並且在我的郵箱中我只是獲得了nada。
正如你所看到的,是的,我正在加載我的~/profile
,我檢查了很多次腳本具有執行權限,並且我絕對確定該行是正確寫入的。 crontab
也以換行符結束。那麼爲什麼這個工作沒有執行?
經過一個小時的抨擊我的頭對桌子後,我終於找到原因。原因是什麼?......我認爲我應該調用沒有參數的腳本,比如crontab中的其餘腳本,但不行,這一次我不得不用特殊的參數來調用它。這項工作開展得很好,我放的腳手架實際上很好,這是腳本,因爲它應該沒有被調用。 – RAKK
所以基本上,所學到的教訓是始終確保我是否真的應該以這種方式調用腳本。 – RAKK