阿里雲的ubuntu系統上重啓Tomcat的Crontab定時任務

最近發現,Java客網站上的Tomcat服務器經常無故停掉,所以今天參考網上的資料寫了一個重啓Tomcat的腳本並設置了crontab定時任務,重啓腳本如下:

   #!/bin/sh

. /etc/profile

pid=`ps aux | grep tomcat | grep -v grep | grep -v retomcat | awk '{print $2}'`
echo $pid

if [ -n "$pid" ]
then
{
   echo ===========shutdown================
   /opt/tomcat/bin/shutdown.sh
   sleep 1 
   pid=`ps aux | grep tomcat | grep -v grep | grep -v retomcat | awk '{print $2}'`
   if [ -n "$pid" ]
   then
    {
      sleep 1 
      echo ========kill tomcat==============  
      kill -9 $pid
    }
   fi
   sleep 1
   echo ===========startup.sh==============
   /opt/tomcat/bin/startup.sh
 }
else
echo ===========startup.sh==============
/opt/tomcat/bin/startup.sh

fi


腳本寫好了,要登錄阿里雲的ubuntu把代碼配置上一個crontab的定時任務。步驟如下:


1)使用crontab -e 命令進入編輯crontab腳本。

這裏有個小插曲,第一次輸入crontab -e的時候,會提示提醒選擇編輯器,一開始我選擇了nano編輯器,後來一直以爲沒法輸入crontab腳本。後來找到辦法,原來是編輯器問題,需要用sudo select-editor命令重新選擇vim編輯器就ok了。

下面稍微解釋下crontab中每行的含義。crontab中的每一行代表一個定期執行的任務,分爲6個部分。前5個部分表示何時執行命令,最後一個部分表示執行的命令。每個部分以空格分隔,除了最後一個部分(命令)可以在內部使用空格之外,其他部分都不能使用空格。前5個部分分別代表:分鐘,小時,天,月,星期,每個部分的取值範圍如下:

分鐘          0 - 59
小時          0 - 23
天              1 - 31
月              1 - 12
星期          0 - 6       0表示星期天

除了這些固定值外,還可以配合星號(*),逗號(,),和斜線(/)來表示一些其他的含義:

星號          表示任意值,比如在小時部分填寫 * 代表任意小時(每小時)

逗號          可以允許在一個部分中填寫多個值,比如在分鐘部分填寫 1,3 表示一分鐘或三分鐘

斜線          一般配合 * 使用,代表每隔多長時間,比如在小時部分填寫 */2 代表每隔兩分鐘。所以 */1 和 * 沒有區別

                  */2 可以看成是能被2整除的任意值。

我的crontab腳本如下,供大家參考:

30 04 * * * /home/ftp_files/restart.sh
每天凌晨4點30分,執行重啓tomcat腳本。

2)wq退出保存crontab腳本,然後使用crontab -l 命令可以查看剛剛設置的定時任務。

3)重啓crontab任務:

 /etc/init.d/cron restart

4)到此,大功告成啦!以後媽媽再也不用擔心Tomcat掛掉了,哈哈!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章