#!/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
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掛掉了,哈哈!