用shell腳本定時啟動tomcat服務


在linux系統中。我們經常會遇到各種各樣,tomcat停止服務的問題。

這里解決方案:(1)用shell寫一個for循環,檢查tomcat進程ID的腳本是否存在,如果不存在就重啟tomcat服務。(推薦)

 
        

       (2)寫一個重啟tomcat的shell腳本,然后用crontab定時執行這個腳本即可。

 

那么定時啟動tomcat的實現如下:

1.首先shell腳本

#!/bin/sh  
export JAVA_HOME=/usr/java/jdk1.6.0_26  
  
pid=`ps -auxww|grep tomcat|grep -v grep|awk '{print $2}'`  
  
echo $pid  
  
if [ -n "$pid" ];  
  
then  
  
{  
  
echo "==========tomcat is start============"  
  
'/usr/server/tomcat-7.0.27/bin/shutdown.sh'  
  
sleep 5  
  
'/usr/server/tomcat-7.0.27/bin/shutdown.sh'  
  
sleep 15  
  
pid=`ps -auxww|grep tomcat|grep -v grep|awk '{print $2}'`  
  
if [ -n "$pid" ];  
  
then  
  
{  
  
echo "======to kill the tomcat pid $pid========"  
  
kill $pid  
  
sleep 3  
  
}  
  
fi  
  
echo "==========start tomcat============"  
  
'/usr/server/tomcat-7.0.27/bin/startup.sh'  
  
}  
  
else  
  
{  
  
echo "==========tomcat is stop=====start======="  
  
'/usr/server/tomcat-7.0.27/bin/startup.sh'  
  
}  
  
fi  

 

或者簡單的重啟的tomcat的shell腳本。如下

#!/bin/sh
tomcat_home=/opt/apache-tomcat-6.0.32

#找到tomcat進程的id並kill掉
ps -ef |grep tomcat  |awk {'print $2'} | sed -e "s/^/kill -9 /g" | sh -

#刪除日志文件,如果你不先刪除可以不要下面一行
rm  $tomcat_home/logs/* -rf

#刪除tomcat的臨時目錄
rm  $tomcat_home/work/* -rf

#啟動tomcat
$tomcat_home/bin/startup.sh 

#看啟動日志
tail -f $tomcat_home/logs/catalina.out

 

 

2.在新建任務計划:利用crontab -e命令,於02:00執行重啟服務。

10 02 * * * /usr/server/tomcat-7.0.27/bin/startup.sh  

3.啟動crond服務 命令如下

3.啟動定時服務  
  
[root@]# service crond stop  
  
[root@]# service crond start  
  
4.查看該任務是否在定時列表里面:  
  
[root@]# crontab -l  
  
10 02 * * * /usr/server/tomcat-7.0.27/bin/startup.sh  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM