Centos 6.5 x64 tomcat发布脚本

内网有一台服务器,安装了svn和tomcat

需要把代码上传到online_test(步骤:a)

然后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

相关文章

有时候CentOS工作在无互联网的环境下,需要在离线环境下安装一些组件,这次实现的是模拟在离线环境下安...
首先参照https://www.cnblogs.com/wdw984/p/13330074.html,来进行如何安装Centos和离线下载rpm包。 离...
有两个.NET CORE3.1网站部署在CentOS7上(内网IP是192.168.2.32),现在想实现访问http://192.168.2.32...
1、yum -y install vsftpd 安装vsftpd 2、配置vsftpd的配置文件(/etc/vsftpd/vsftpd.conf)主要修改以...
首先去mysql官网下载mysql的离线rpm安装包(https://downloads.mysql.com/archives/community/) Mysql...
第一步下载erlang环境并安装: wget https://packages.erlang-solutions.com/erlang/rpm/centos/7/x86_...