tomcat一鍵發佈

1. 場景描述

linux下tomcat一鍵發佈,包含停用服務、刪除war包、拷貝war包及備份、重啓服務等,之前的版本還包含svn更新及打包,後來在生產上怕出問題,改爲本地打war包後,ftp上傳到指定目錄的方式。linux

2. 解決方案

2.1 真實代碼

文件名稱作了隱藏更改處理,修改文件路徑後可以使用。web

#!/bin/sh
#1
instance="apache-tomcat-8.0.53";
tomcat_progrm="/home/laowang/programs/apache-tomcat-8.0.53";
target_home="/home/laowang/programs/dist";
target_home_back="/home/laowang/programs/dist/back";

function running(){
b=""
for ((i=0;i<=100;i+=2))
do
printf "progress:[%-50s]%d%%\r" $b $i
sleep 0.2
b=#$b
done
echo
}
#2
pid=`(ps -ef | grep $tomcat_progrm | grep -v "grep") | awk '{print $2}'`
kill -9 $pid
running ;
ps aux | grep $instance | grep -v grep;
#3
rm -rf ${tomcat_progrm}/webapps/laowang* ;
#4
mkdir ${target_home_back}/$(date +%Y%m%d%H%M%S)
cp ${target_home}/*.war  ${target_home_back}/$(date +%Y%m%d%H%M%S)/

cp ${target_home}/*.war ${tomcat_progrm}/webapps/laowang-web.war
echo ${tomcat_progrm}/bin/startup.sh ;
#5
nohup ${tomcat_progrm}/bin/startup.sh;
running;
#6
tail -f ${tomcat_progrm}/logs/catalina.out ;

2.2 代碼說明

2.2.1 定義變量

三個變量分別爲tomcat解壓目錄,tomcat的war包是上傳目錄(能夠任意定,只要有操做權限就行)、tomcat的war包子目錄,備份用,也能夠本身定義。apache

#1
instance="apache-tomcat-8.0.53";
tomcat_progrm="/home/laowang/programs/apache-tomcat-8.0.53";
target_home="/home/laowang/programs/dist";
target_home_back="/home/laowang/programs/dist/back";
2.2.2 查找現有tomcat進程並停用掉。
#2
pid=`(ps -ef | grep $tomcat_progrm | grep -v "grep") | awk '{print $2}'`
kill -9 $pid
running ;
ps aux | grep $instance | grep -v grep;
2.2.3 刪除tomcat下歷史war包
#3
rm -rf ${tomcat_progrm}/webapps/laowang* ;
2.2.4 新建備份文件夾,備份最新war包,並將最新war拷貝到tomcat的啓動目錄(webapps)
#4
mkdir ${target_home_back}/$(date +%Y%m%d%H%M%S)
cp ${target_home}/*.war  ${target_home_back}/$(date +%Y%m%d%H%M%S)/

cp ${target_home}/*.war ${tomcat_progrm}/webapps/laowang-web.war
echo ${tomcat_progrm}/bin/startup.sh ;
2.2.5 啓動tomcat服務
#5
nohup ${tomcat_progrm}/bin/startup.sh;
2.2.6 實時查看下日誌,檢驗是否有錯誤。
#6
tail -f ${tomcat_progrm}/logs/catalina.out ;

2.3 最後說明

假如根據日誌看沒啥問題,或者有信心沒問題,可直接按ctrl+c退出。tomcat

相關文章
相關標籤/搜索