tomcat重啟腳本
阿新 • • 發佈:2018-02-06
8.0 ava java .sh pre var erro path 正常 tomcat需要定時重啟,以前遇到過這種情況,現在又有需求(說白了還是java項目內存泄露問題,我內心一萬匹草泥馬奔過)
我們都知道重啟tomcat項目很方便,直接使用pkill java 然後start.sh命令重啟即可(這裏是centos系統)
腳本如下:
我們都知道重啟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重啟腳本