Linux下用crontab執行定時任務不會缺省的從用戶profile文件中讀取環境變量參數,經常導致在手工執行某個 腳本時是成功的,但是到crontab中試圖讓它定期執行時就是會出錯。
2種方法可以解決這個問題,
1、在Shell文件裏面獲取環境變量值的路徑寫成絕對路徑,別用環境變量的路徑值。例如獲取CPU的使用情況 通過絕對路徑/proc/cpuinfo 來獲取值;
2、Shell腳本缺省的#!/bin/bash開頭換行後的第一行用
#!/bin/bash
. /etc/profile
. ~/.bash_profile
這樣,crontab在執行腳本的時候,就能夠讀到用戶的環境變量參數.