Tomcat_启动,关停,重启 脚本

参考文章:

1.完美解决Linux服务器tomcat开机自启动问题

http://www.cnblogs.com/zdz8207/p/linux-tomcat-autostartup.html


2.Tomcat重启脚本restart.sh停止脚本stop.sh

http://www.cnblogs.com/zdz8207/p/Tomcat-restart-shell.html


Tomcat 按照后提供了如下脚本。


问题1:

可以看出只有启动脚本(startup.sh) 关停脚本(shutdown.sh),并没有重启的脚本。

问题2:

虽然提供了shutdown.sh .  但是实际部署中经常会出现死进程形象,无法杀掉进程需要查询进程号kill掉才能正常启动。


综合上面几个问题,我编写了如下脚本。

启动 start.sh

关停 stop.sh

重启 restart.sh


启动

    封装原有的脚本,没做任何额外的处理。

关停

   先用tomcat 提供的脚本去关停服务,若没用成功。 通过 kill -9 PID 的方式,强制杀死服务。

重启

   其实以上2个脚本的整合。 先关停,后启动。


下面的脚本都需要先定义 TOMCAT_HOME 环境变量。我的环境变量定义在了 /etc/profile


启动 start.sh

#!/bin/bash

TOMCAT_DIR=${TOMCAT_HOME}
TOMCAT_PATH=${TOMCAT_DIR}/bin

echo "TOMCAT_PATH is $TOMCAT_PATH"

#startup  tomcat server

echo "Try to startup tomcat"
sh "$TOMCAT_PATH/startup.sh"
sleep 10s 
PID=`ps aux | grep ${TOMCAT_DIR} | grep java | awk '{print $2}'`
if [ -n "$PID" ]; then
    echo "Restart tomcat successfully!"
else
    echo "Fail to startup tomcat"
    exit 1
fi


关停 stop.sh

#!/bin/bash

TOMCAT_DIR=${TOMCAT_HOME}
TOMCAT_PATH=${TOMCAT_DIR}/bin

echo "TOMCAT_PATH is $TOMCAT_PATH"

#Shutdowm tomcat server

PID=`ps aux | grep ${TOMCAT_DIR}  | grep java | awk '{print $2}'`

if [ -n "$PID" ]; then
    echo "Will kill tomcat: $PID"
    echo "Use shutdown.sh"
sh "$TOMCAT_PATH/shutdown.sh"
    sleep 20s
else
    echo "No Tomcat Process $PID"
fi

PID2=`ps aux | grep ${TOMCAT_DIR} | grep java | awk '{print $2}'`

if [ -n "$PID2" ]; then
    echo "Try to kill $PID2"
    echo 'kill -9 PID'
    kill -9 $PID2
    sleep 20s
else
    echo "No Tomcat Process $PID2"
fi



重启 restart.sh

#!/bin/bash

TOMCAT_DIR=${TOMCAT_HOME}
TOMCAT_PATH=${TOMCAT_DIR}/bin

echo "TOMCAT_PATH is $TOMCAT_PATH"

#Shutdowm tomcat server

PID=`ps aux | grep ${TOMCAT_DIR}  | grep java | awk '{print $2}'`

if [ -n "$PID" ]; then
    echo "Will kill tomcat: $PID"
    echo "Use shutdown.sh"
    sh "$TOMCAT_PATH/shutdown.sh"
    sleep 20s
else 
    echo "No Tomcat Process $PID"
fi

PID2=`ps aux | grep ${TOMCAT_DIR} | grep java | awk '{print $2}'`

if [ -n "$PID2" ]; then
    echo "Try to kill $PID2"
    echo 'kill -9 PID'
    kill -9 $PID2
    sleep 20s
else 
    echo "No Tomcat Process $PID2"
fi


#Startup  tomcat server

echo "Try to startup tomcat"
sh "$TOMCAT_PATH/startup.sh"
sleep 10s
PID=`ps aux | grep ${TOMCAT_DIR} | grep java | awk '{print $2}'`
if [ -n "$PID" ]; then
    echo "Restart tomcat successfully!"
else
    echo "Fail to startup tomcat"
    exit 1
fi









猜你喜欢

转载自blog.csdn.net/u010003835/article/details/79196320