Centos 6.5 x64 tomcat發佈腳本

內網有一臺服務器,安裝了svn和tomcat
java

須要把代碼上傳到online_test(步驟:a)web

而後online_test上傳到線上環境(步驟:b)數據庫


注意:tomcat

內網服務器->線上測試(online_test)->線上 這3臺服務器作了ssh祕鑰認證bash

內網服務器安裝了lrzsz軟件服務器


/root/service.properties是已經修改的數據庫配置文件,由於每臺服務器,鏈接的數據庫是不同的。app



首先介紹步驟:a的腳本ssh

#!/bin/bashwebapp


#yum install -y lrzszide


#線上測試服務器

remote_ip="1.1.1.1"

#當前日期

time=`date +"%Y-%m-%d"`


#判斷上傳目錄

if [ ! -d "/release" ];then

   mkdir /release

fi


#進入指定目錄,清空目錄

cd /release

rm -rf /release/*

#開始選擇的上傳文件

rz


file=`ls /release/`

#判斷文件是否符合要求

if [ "$file" != "cma.war" ];then

echo -e "\033[31m 文件不符合要求,不是cma.war,程序退出 \033[0m"

rm -rf /release/*

exit

else

echo -e "文件上傳 \033[32m 成功 \033[0m"

ssh -p 22 root@$remote_ip "killall -9 java"

((`echo $?` == "0"))&& echo -e "遠程服務器中止tomcat \033[32m 成功 \033[0m" || echo -e "遠程服務器中止tomcat \033[31m 失敗 \033[0m"


ssh -p 22 root@$remote_ip "rm -rf /usr/local/tomcat/webapps/cma.war"

ssh -p 22 root@$remote_ip "rm -rf /usr/local/tomcat/webapps/cma"

((`echo $?` == "0"))&& echo -e "遠程服務器刪除cma.war和cma目錄 \033[32m 成功 \033[0m" || echo -e "遠程服務器刪除cma.war和cma目錄 \033[31m 失敗 \033[0m"

scp -r -P 22 -r /release/cma.war $remote_ip:/usr/local/tomcat/webapps

((`echo $?` == "0")) && echo -e "cma.war傳輸到遠程服務器 \033[32m 成功 \033[0m" || echo -e "cma.war傳輸到遠程服務器 \033[31m 失敗 \033[0m"


ssh -p 22 root@$remote_ip "/etc/init.d/tomcat start >> /dev/null"

((`echo $?` == "0"))&& echo -e "遠程服務器啓動tomcat \033[32m 成功 \033[0m" || echo -e "遠程服務器啓動tomcat \033[31m 失敗 \033[0m"

echo -e "\033[35m 請等待10秒鐘 \033[0m"

sleep 10


ssh -p 22 root@$remote_ip "cp /root/service.properties /usr/local/tomcat/webapps/cma/WEB-INF/classes/service.properties"

((`echo $?` == "0"))&& echo -e "遠程服務器複製tomcat配置文件 \033[32m 成功 \033[0m" || echo -e "遠程服務器複製tomcat配置文件 \033[31m 失敗 \033[0m"


ssh -p 22 root@$remote_ip "killall -9 java && /etc/init.d/tomcat start >> /dev/null"

((`echo $?` == "0"))&& echo -e "遠程服務器重啓tomcat \033[32m 成功 \033[0m" || echo -e "遠程服務器重啓tomcat \033[31m 失敗 \033[0m"


echo -e "\033[34m 請登陸線上測試服務器,使用以下命令查看日誌\ntail -f /usr/local/tomcat/logs/catalina.$time.log \033[0m"

fi



步驟:b的腳本


#!/bin/bash


#線上服務器

remote_ip="1.1.1.2"

#當前日期

time=`date +"%Y-%m-%d"`


#判斷文件是否存在

if [ ! -f "/usr/local/tomcat/webapps/cma.war" ];then

echo -e "\033[31m 本機 /usr/local/tomcat/webapps/cma.war文件不存在,程序退出 \033[0m"

exit

else

ssh -p 22 root@$remote_ip "killall -9 java"

((`echo $?` == "0"))&& echo -e "遠程服務器中止tomcat \033[32m 成功 \033[0m" || echo -e "遠程服務器中止tomcat \033[31m 失敗 \033[0m"


ssh -p 22 root@$remote_ip "rm -rf /usr/local/tomcat/webapps/cma.war"

ssh -p 22 root@$remote_ip "rm -rf /usr/local/tomcat/webapps/cma"

((`echo $?` == "0"))&& echo -e "遠程服務器刪除cma.war和cma目錄 \033[32m 成功 \033[0m" || echo -e "遠程服務器刪除cma.war和cma目錄 \033[31m 失敗 \033[0m"

scp -r -P 22 -r /usr/local/tomcat/webapps/cma.war $remote_ip:/usr/local/tomcat/webapps

((`echo $?` == "0")) && echo -e "cma.war傳輸cma.war到遠程服務器 \033[32m 成功 \033[0m" || echo -e "cma.war傳輸到遠程服務器 \033[31m 失敗 \033[0m"


ssh -p 22 root@$remote_ip "/etc/init.d/tomcat start >> /dev/null"

((`echo $?` == "0"))&& echo -e "遠程服務器啓動tomcat \033[32m 成功 \033[0m" || echo -e "遠程服務器啓動tomcat \033[31m 失敗 \033[0m"

echo -e "\033[35m 請等待10秒鐘 \033[0m"

sleep 10


ssh -p 22 root@$remote_ip "cp /root/service.properties /usr/local/tomcat/webapps/cma/WEB-INF/classes/service.properties"

((`echo $?` == "0"))&& echo -e "遠程服務器複製tomcat配置文件 \033[32m 成功 \033[0m" || echo -e "遠程服務器複製tomcat配置文件 \033[31m 失敗 \033[0m"


ssh -p 22 root@$remote_ip "killall -9 java && /etc/init.d/tomcat start >> /dev/null"

((`echo $?` == "0"))&& echo -e "遠程服務器重啓tomcat \033[32m 成功 \033[0m" || echo -e "遠程服務器重啓tomcat \033[31m 失敗 \033[0m"


echo -e "\033[34m 請登陸線上正式服務器,使用以下命令查看日誌\ntail -f /usr/local/tomcat/logs/catalina.$time.log \033[0m"


fi

相關文章
相關標籤/搜索