crond不執行緣由分析

本身寫了個腳本,讓crond來週期性執行腳本進行備份,可是在crontab -e裏面加入了執行腳本以後,發現沒有執行,後來分析了一下,crond不執行的緣由主要有如下幾個方面:調試

一、crond服務沒啓動rest

service crond start           //啓動服務
service crond stop           //關閉服務
service crond restart       //重啓服務
service crond reload       //從新載入配置crontab

二、用戶沒有執行crond的權限test

/etc/cron.deny文件用來控制哪些用戶不能執行crond服務的功能。變量

能夠將本身從文件中刪去,或者聯繫root配置

三、crontab不提供所執行用戶的環境變量file

解決方法:在腳本中加入下面這一行:service

. /etc/profile
四、沒有使用絕對路徑終端

這裏的絕對路徑包括腳本中的路徑和crond命令中的路徑兩個方面。權限

五、若是上面都沒有解決問題的話能夠再找找問題:

1)去郵件看看,在這個過程當中用戶應該會收到郵件,好比收到這樣的提示:

You have mail in /var/spool/mail/root

去看看裏面就有crond的內容

2)在腳本里面加入output用來調試

能夠在crontab的腳本里面添加個echo $PATH > /tmp/test.log

對比和終端下執行腳本的echo $PATH

相關文章
相關標籤/搜索