内网有一台服务器,安装了svn和tomcat
然后online_test上传到线上环境(步骤:b)
注意:
内网服务器->线上测试(online_test)->线上 这3台服务器做了ssh秘钥认证
内网服务器安装了lrzsz软件
/root/service.properties是已经修改的数据库配置文件,因为每台服务器,连接的数据库是不一样的。
首先介绍步骤:a的脚本
#!/bin/bash
#yum install -y lrzsz
#线上测试服务器
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的脚本
#线上服务器
remote_ip="1.1.1.2"
#判断文件是否存在
if [ ! -f "/usr/local/tomcat/webapps/cma.war" ];then
echo -e "\033[31m 本机 /usr/local/tomcat/webapps/cma.war文件不存在,192);white-space:pre;">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"
echo -e "\033[34m 请登录线上正式服务器,使用如下命令查看日志\ntail -f /usr/local/tomcat/logs/catalina.$time.log \033[0m"
fi