1. 程式人生 > >[Shell]crontab 執行任務呼叫shell指令碼,相對路徑無法找到

[Shell]crontab 執行任務呼叫shell指令碼,相對路徑無法找到

問題出現的場景大概就是

1  cron呼叫一個python指令碼

2  python指令碼中呼叫一個shell指令碼(對日誌分析)獲取shell輸出然後傳送郵件

類似一個監控任務。

直接執行python指令碼沒有問題,但是寫在cron中之後,shell指令碼中的相對路徑就找不到了,總是提示無法找到某些檔案

後來解決的問題就是使用log檔案的絕對路徑,執行就正常了。

google了一些,發現很多人也遇到過類似的問題,可能和cron的機制有關係。

大部分人的問題都是因為環境變數造成的,因為cron是一個獨立程序,也不是使用者登入等,所以有些程式會無法執行成功。

但是從很多人的指令碼中基本都是絕對路徑,可能還是我寫的太少,很多原則和原理不是很清楚。