Linux的crontab應注意事項

今天遇到一個問題,困擾了很久,剛開始時覺得crontab定時任務配置錯誤,後通過驗證沒有錯誤,而後又懷疑到是否是權限問題呀?將權限跟改成root後,從新配置crontab定時任務,仍是不行,真是讓人氣餒。後來想到在腳本中經過「set -x」命令打開腳本調試信息並重定向到一個文件中,後查看輸出文件,發現JAVA_HOME沒有設置,不對呀,我明明在.bashrc文件中配置了JAVA_HOME呀,這是怎麼回事,難道是crontab的運行環境變量和個人環境變量不同,抱着試一試的想法,我將JAVA_HOME配置成固定值,不用從PATH環境變量中讀取,而後再用crontab定時任務執行這個腳本,哈哈,竟然成功,總算找到問題的緣由啦!現總結以下:bash

1 crontab有本身特定的運行環境變量,可能和手動運行腳本的環境變量不同;

2 可在腳本的開始處,用「set -x」命令開啓調試信息,可輸出腳本運行的信息,在腳本的結束處,用「set +x」關閉調試信息;
相關文章
相關標籤/搜索