使用crontab 執行shell腳本,有三個條件:
1,必須擁有權限
2,必須寫絕對路徑
3,環境變量
格式爲
* * * * * /bin/sh /home/test.sh
第一個*:分鐘 0~59
第二個*:小時 0~23
第三個*:日期 1~31
第四個*:月份 1~12
第五個*:周 1~7
crontab的前兩個條件比較簡單,再此就不做說明了,這裏主要是第三個條件環境變量的問題,大多數crontab 無法運行腳本的原因就是這個環境變量(保證腳本的正確性),本小菜鳥今天同樣碰到了相同的問題,百度 谷歌 查找了N久原因,最終確認是環境變量問題,下面又出現第二個問題,環境變量怎麼設置,繼續百度,谷歌卻沒有找到相關的配置說明,糾結ing。。。。對於新手來說這個問題確實不好解決。
經過不斷的嘗試添加環境變量的方法爲:
①在你的服務器上執行 echo $PATH 顯示爲如下:
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
②在你腳本的!/bin/bash下,添加如下兩行:
PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
export PATH
保存退出
重新編寫crontab -e
* * * * * /bin/sh /home/test.sh
成功!