1. 程式人生 > >crontab執行sh指令碼和手動執行結果不一樣問題解決

crontab執行sh指令碼和手動執行結果不一樣問題解決

當使用crontab執行sh指令碼時,發現存到資料庫的資料丟失了非常多,困惑。。。於是各種搜尋,終於找到問題答案,即環境變數問題,解決方法很簡單,只需要在指令碼開頭增加

source ~/.bash_profile 即可。

還有,如果手動執行指令碼可以成功執行,但crontab卻不行,並且crontab執行指令碼時報 Permission denied 錯誤,則是crontab沒有執行指令碼的許可權,所以可以使用chmod 755 指令碼 來授予crontab執行此指令碼的許可權。

總結下:使用crontab出現的問題基本上是在1.環境變數 2.路徑 這兩個方面 ,所以以後碰到此類問題,就先解決它們。

參考1

參考2

參考3