歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Ubuntu 12.04 Server cron定時監控

Ubuntu 12.04 Server cron定時監控

日期:2017/2/28 15:29:37   编辑:Linux教程

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 表示一分鐘運行一次

其他* 表示無設置

我的腳本文件如下:

  1. File Edit Options Buffers Tools Sh-script Help
  2. #! /bin/bash
  3. #PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
  4. pid_file=/usr/nginx/logs/nginx.pid
  5. log_file=/home/dist/monitor/watcher.log
  6. if [ ! -f $pid_file ]; then
  7. echo "----------------" >> $log_file
  8. echo `date` >> $log_file
  9. echo "nginx is found stopped, restaring it now" >> $log_file
  10. echo "----------------" >> $log_file
  11. service nginx start
  12. fi

通過檢查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

Copyright © Linux教程網 All Rights Reserved