cron服務在Ubuntu12.04 server裡是默認安裝的。使用crontab -e 命令可以調出你系統中默認的編輯器進行編輯
crontab的命令格式可以參考下面這篇文章,非常不錯:http://www.linuxidc.com/Linux/2007-09/7681.htm 與 http://www.linuxidc.com/Linux/2012-08/67836.htm
我的需求是這樣,系統中已經安裝了nginx服務,啟動命令是 service nginx start
由於nginx比較穩定,我選擇了每分鐘檢查一次的定時任務:
*/1 * * * * /home/dist/monitor/nginx_watcher.sh
*/1 表示一分鐘運行一次
其他* 表示無設置
我的腳本文件如下:
通過檢查nginx的進程id文件是否存在來判斷nginx是否運行,如果沒有運行就調用service nginx start命令。
幾個注意點:
1.執行crontab -e 請在root權限下
2.如果設置完定時任務,不放心,可以通過下面的命令重啟cron服務, 我的經驗是不必。
service cron restart
3.如果要確保環境變量PATH正確的話,可以在自己的腳本中設置環境變量PATH,然後 export 出來
4.文件路徑請用絕對路徑
5.下面的定時任務可以幫助我們診斷cron服務的環境變量:
* * * * * env > /tmp/env.output