tomcat 自动部署脚本

#!/bin/bash
#=====================================
#脚本名称:deploy.sh
#编写时间:  2019-07-23
#编辑人:   izhixin
#最近修改时间:2019-07-31
#备注:杀死进程等待时间增加至30秒;
#增加kill -9 PID 强制关闭Tomcat进程;
#
#=====================================

#==========部署时间=================
DEPLOY_DATE=`date +%Y%m%d%H%M`

#==========变量=================
APP_ADDRESS=
BAK_ADDRESS=
SCRIPT_LOG=

#==========变量=================
WARNAME=
UPLOADWARNAME=
TOMCATPORT=
TOMCATADDRESS=
TOMCATWEBAPPS=
TOMCATBIN=
TOMCATLOGS=
WEBAPPSFILENAME=
WEBAPPSWARNAME=

PSINFO=`ps aux | grep java | grep ${TOMCATADDRESS}`
TOMCATPID=`ps aux | grep java | grep ${TOMCATADDRESS} | awk -F' ' '{print $2}'`

APP_NAME=deploy.sh

#=====================================

#===========程序开始==================
echo "***********BEGIN_${APP_NAME}_${DEPLOY_DATE}***********" >> ${SCRIPT_LOG}

if ! [ -d ${APP_ADDRESS} ];then
        mkdir ${APP_ADDRESS}
fi

if ! [ -d ${BAK_ADDRESS} ];then
        mkdir ${BAK_ADDRESS}
fi

if ! [ -e ${SCRIPT_LOG} ];then
        touch ${SCRIPT_LOG}
fi

echo "${DEPLOY_DATE}                    $PSINFO" >> ${SCRIPT_LOG}

if ! [ -e ${UPLOADWARNAME} ];then
        echo "Please upload WAR package"
        exit 10
else 
        echo "${DEPLOY_DATE}                    ${WARNAME} is upload!!!" >> ${SCRIPT_LOG}
fi

if ! [ -d ${TOMCATADDRESS} ];then
        echo "${TOMCATADDRESS} does not exist"
        exit 11
fi

if [ "${TOMCATPID}" == "" ];then
        echo "${TOMCATPID} is null!!!"
        exit 12 
fi

mv ${TOMCATLOGS}catalina.out   ${TOMCATLOGS}catalina.out_${DEPLOY_DATE}

if ! kill ${TOMCATPID};then
        echo "Kill ${TOMCATPID} failed"
       exit 12  
fi

sleep 30

TOMCATPID=`ps aux | grep java | grep ${TOMCATADDRESS} | awk -F' ' '{print $2}'`

if [ "${TOMCATPID}" != "" ];then
        echo "First kill ${TOMCATPID} failed"
        kill -9  ${TOMCATPID}
        sleep 10
fi  

echo "${DEPLOY_DATE}                    Kill ${TOMCATPID}  process successfully!!!" >> ${SCRIPT_LOG}

mv ${WEBAPPSWARNAME}  ${BAK_ADDRESS}war_bak_${TOMCATPORT}_${WARNAME}_${DEPLOY_DATE}


rm -rf  ${WEBAPPSFILENAME} 
 

mv ${UPLOADWARNAME}  ${WEBAPPSWARNAME}

if ! [ -e ${WEBAPPSWARNAME} ];then
        echo "Webbapps no package"
        exit 13
fi

${TOMCATBIN}startup.sh

PSINFO=`ps aux | grep java | grep ${TOMCATADDRESS}`

echo "${DEPLOY_DATE}                    $PSINFO" >> ${SCRIPT_LOG}

sleep 10

tail -200 ${TOMCATLOGS}catalina.out


echo "***********END_${APP_NAME}_${DEPLOY_DATE}***********" >> ${SCRIPT_LOG}

exit 0










猜你喜欢

转载自www.cnblogs.com/izhixin/p/12049862.html