內網有一臺服務器,安裝了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