tomcat 自动上线脚本,看懂了你就会用
#!/bin/bash
#
#This is a live, deployment automation script
#1.backup,
#2.download package,
#3.issue
#Creation time:2018/7/13
#Admin: Rui Xu
#
#online time
shi=`date +%H:%M:%S:%N | awk -F':' '{print $1}'`
fen=`date +%H:%M:%S:%N | awk -F':' '{print $2}'`
miao=`date +%H:%M:%S:%N | awk -F':' '{print $3}'`
haomiao=`date +%H:%M:%S:%N | awk -F':' '{print $4}'`
####backup last time application package
artemis_bak="/app/tmp/backup-package/artemis_$(date +%Y-%m-%d)"
if [ ! -d $artemis_bak ]
then
mkdir -p $artemis_bak
fi
echo -e "\033[33m mkdir $artemis_bak [ ok ] \033[0m"
/bin/mv /app/tmp/artemis.war $artemis_bak/"artemis-"$(date +%H:%M:%S)".bak.war"
echo 'Current backup package name :'
/bin/ls -l "$artemis_bak"/artemis*| tail -n1|awk -F'/' '{print "/"$2"/"$3"/"$4"/"$5"/"$6}'
####download this time artemis package
/bin/scp root@10.89.242.15:/data/ftp/xiaojushanbao/jenkins/artemis/artemis* /app/
flag=`echo $?`
if [ $flag != "0" ]; then
echo "ERROR: download package artemis failed"
break
exit
else
/bin/mv /app/artemis* /app/tmp/artemis.war
####Use this package;server artemis stop,start
#service artemis stop
ps -aux | grep tomcat | grep bootstrap | grep -v grep | awk '{print $2}' | while read pid
do
echo "tomcat is running, to kill bootstrap pid=$pid"
kill -9 $pid
echo "kill result:[ $? ] 0=ok"
done
sleep 1
rm -rf /app/apps/artemis/tomcat/webapps/*
rm -rf /app/apps/artemis/tomcat/work
rm -rf /app/apps/artemis/tomcat/temp/*
mkdir /app/apps/artemis/tomcat/webapps/artemis
cp /app/tmp/artemis.war /app/apps/artemis/tomcat/webapps/artemis
cd /app/apps/artemis/tomcat/webapps/artemis
unzip artemis.war &> /dev/null
cd /
rm -rf /app/apps/artemis/tomcat/webapps/artemis/artemis.war
rm -rf /app/apps/artemis/tomcat/webapps/artemis/WEB-INF/lib/mysql-connector-java-5.1.37.jar
yes | cp -f /app/tmp/logback-spring.xml /app/apps/artemis/tomcat/webapps/artemis/WEB-INF/classes/
yes | cp -f /app/tmp/logback-spring.xml /app/apps/artemis/tomcat/webapps/artemis/WEB-INF/classes/config/log/logback-didiprod.xml
yes | cp -f /app/tmp/font/simsun.ttc /app/apps/artemis/tomcat/webapps/artemis/WEB-INF/classes/font
sleep 1
echo 'Deployment is complete Is starting Artemis ...'
service artemis start &> /dev/null
sleep 8
ID=`ps -aux | grep tomcat | grep bootstrap | grep -v grep | awk '{print $2}'|tail -n1`
if [ ! "$ID" = "" ]
then
echo -e "\033[33m Artemis is already running, and his pid is: [ $ID ] \033[0m"
else
echo -e "\033[5;33m Artemis run [ Failed ] \033[0m"
fi
#online end time
shi1=`date +%H:%M:%S:%N | awk -F':' '{print $1}'`
fen2=`date +%H:%M:%S:%N | awk -F':' '{print $2}'`
miao3=`date +%H:%M:%S:%N | awk -F':' '{print $3}'`
haomiao4=`date +%H:%M:%S:%N | awk -F':' '{print $4}'`
H=`expr $shi1 - $shi`
F=`expr $fen2 - $fen`
M=`expr $miao3 - $miao`
HM=`expr $haomiao4 - $haomiao`
echo "Elapsed time :"$H" h "$F" m "$M" s "$HM" ms"
sleep 2
echo '======================================================================='
echo "+ Real-time logging is coming /home/mnt/app/logs/artemis/artemis.log +"
echo '======================================================================='
sleep 5
timeout 50 tail -f /home/mnt/app/logs/artemis/artemis.log
fi
#END
转载于:https://blog.51cto.com/amunlinux/2154128