1. 程式人生 > >tomcat重啟腳本

tomcat重啟腳本

8.0 ava java .sh pre var erro path 正常

tomcat需要定時重啟,以前遇到過這種情況,現在又有需求(說白了還是java項目內存泄露問題,我內心一萬匹草泥馬奔過)
我們都知道重啟tomcat項目很方便,直接使用pkill java 然後start.sh命令重啟即可(這裏是centos系統)
腳本如下:

#!/bin/bash
#This script run at every 4days 00:00
#it is used to restart tomcat,because of mem leakage.
/bin/pkill java
Time=`date +%F`
sleep 3
a=`ps -ef|grep java|grep -v "grep"|wc -l`
if [ $a == 0 ];then
    /bin/bash /data/tomcat/bin/startup.sh
    echo " $Time tomcat chongqi success">/var/log/a.log  //這裏用於監控腳本是否正常執行。
else
    echo " $Time tomcat chongqi error">/var/log/a.log
fi

但是我們將上述腳本加入到定時任務後,但是tomcat重啟不生效。
一開始非常費解。後來想到是不是bash 根本無法識別JAVA的環境變量,因為以前寫腳本就遇到過這類似問題。帶著懷疑試著修改腳本。

#!/bin/bash
#This script run at every 4days 00:00
#it is used to restart tomcat,because of mem leakage.
JAVA_HOME=/usr/java/jdk1.8.0_101
PATH=$PATH:/usr/java/jdk1.8.0_101/bin
/bin/pkill java
Time=`date +%F`
sleep 3
a=`ps -ef|grep java|grep -v "grep"|wc -l`
if [ $a == 0 ];then
    /bin/bash /data/tomcat/bin/startup.sh
    echo " $Time tomcat chongqi success">/var/log/a.log
else
    echo " $Time tomcat chongqi error">/var/log/a.log
fi

然後成功。

tomcat重啟腳本