shell实现自动部署两台tomcat项目+备份
就做个记录吧, 其实也没啥好说的.
主机
#!/bin/bash
TODAY=$(date -d 'today' +%Y-%m-%d-%S)
MIP="192.168.180.24"
LIP="192.168.180.25"
user="mcdadm"
pathN="/home/mcdadm/apache-tomcat-9.0.14" echo "即将实现自动部署操作,脚本运行后请稍等几秒,部署成功会自动提醒" function run(){
./stop.sh >/dev/null 2>&1
sleep 2
cp webapps/bskm.war backup/bskm.war-${TODAY}
rm -rf webapps/bskm*
sleep 2
cp bskm.war webapps/
./start.sh >/dev/null 2>&1
echo "主机${MIP}部署完成!"
read -p "是否观察动态日志? [y/n] " input
case $input in
[yY]*)
echo ""
tail -f logs/catalina.out
;;
[nN]*)
#exit
;;
*)
;;
esac
}
function ifM(){
if [ -d "backup" ];then
run
else
mkdir backup
run
fi
}
function slaveLin(){
echo -e "\033[43;35m 请输入${LIP}副机登录密码以实现部署包传输 \033[0m"
scp bskm.war ${user}@${LIP}:${pathN}/
echo -e "\033[43;35m 请输入${LIP}副机登录密码以实现自动部署 \033[0m"
ssh -Tq ${user}@${LIP} << EOF
cd ${pathN}
./schenglee.sh
EOF
echo "副机${LIP}部署完成!"
}
function main(){
ifM
slaveLin
}
main
副机
#!/bin/bash
TODAY=$(date -d 'today' +%Y-%m-%d-%S)
pathc="/home/mcdadm/apache-tomcat-9.0.14"
echo "即将实现自动部署操作,脚本运行后请稍等几秒,部署成功会自动提醒" function run(){
sh ${pathc}/stop.sh>/dev/null 2>&1
sleep 2
cp ${pathc}/webapps/bskm.war ${pathc}/backup/bskm.war-${TODAY}
rm -rf ${pathc}/webapps/bskm*
sleep 2
cp ${pathc}/bskm.war ${pathc}/webapps/
sh ${pathc}/start.sh>/dev/null 2>&1
echo "部署完成"
read -p "是否观察动态日志? [y/n] " input
case $input in
[yY]*)
echo ""
tail -f logs/catalina.out
;;
[nN]*)
exit
;;
*)
;;
esac
}
function ifM(){
if [ -d "${pathc}/backup" ];then
run
else
mkdir ${pathc}/backup
run
fi
}
function main(){
ifM
}
main
副机脚本命名为schenglee.sh
shell实现自动部署两台tomcat项目+备份的更多相关文章
- shell实现自动部署两台tomcat项目Ⅱ
本次分为3个脚本, scp.sh放进第一台机器(负责传输文件), schenglee.sh放进第一台机器(自动部署), schenglee2.sh放进第二台机器(自动部署) 环境 tomcat1: 1 ...
- 同一个服务器部署两个Tomcat并用Nginx实现反向代理
需求场景:由于服务器只有80端口可供外网访问,但需要部署两台tomcat来运行两个不同的项目,所以选择了nginx做反向代理 一个upstream tomcat_server对应一个 locatio ...
- 如何在同一台服务器上部署两个tomcat
因为测试的需要,有时我们必须在同一个服务器上部署两个tomcat,然后去做应用的部署,那么很多同学可能会觉得比较为难,找的资料也比较的不齐全,那么今天华华就来给大家讲讲如何部署2个tomcat,并能够 ...
- maven自动部署到远程tomcat教程
使用maven的自动部署功能可以很方便的将maven工程自动部署到远程tomcat服务器,节省了大量时间. 本文章适用于tomcat的7.x ,8.x, 9.x版本. 下面是自动部的步骤 1,首先,配 ...
- Maven入门示例(3):自动部署至外部Tomcat
Maven入门示例(3):自动部署至外部Tomcat 博客分类: maven 2012原创 Maven入门示例(3):自动部署至外部Tomcat 上一篇,介绍了如何创建Maven项目以及如何在内 ...
- linux机器上部署多台Tomcat
在Linux机器上部署多台Tomcat, 我部署的是Tomcat8,只需要一步,即避免端口号冲突. 在解压后的tomcat目录下,修改conf下server.xml. 修改shutdown端口: &l ...
- 一台服务器搭载两个tomcat项目
之前下载的mysql 在官网是有 历史库的 如果现在一台机器上已经部署了一个tomcat服务,无论这个tomcat是否已经注册为服务了,或者没有注册windows服务,或者注册了,都没关系.都可以采 ...
- 在linux服务器上装svn版本管理,自动部署代码到web项目
在linux服务器上装svn版本管理,自动部署代码到项目 1.安装svn服务器端 yum install subversion 从镜像下载安装svn服务器端 中间会提示是否ok,输入y,确认 ...
- 一台服务器部署多台tomcat
如题,多个项目部署在一台服务器.减少容错性,觉得分开部署,这样一个tomcat挂了不会影响另一个项目.看配置和应用大小决定数量,一般四五个没问题,也有单台服务器部署8个tomcat稳定运行的. 下面记 ...
随机推荐
- mac 进程和线程工具
进程 查看端口进程 lsof lsof -i tcp:<port> 示例 $ lsof -i tcp:8082 COMMAND PID USER FD TYPE DEVICE SIZE/O ...
- Jmeter获取响应结果中参数出现的次数
在测试中,有时候会遇到要统计响应结果中某个参数出现了多少次,如果量级很大,一个一个数不太现实,下面讲一下实现自动打印出该参数出现的次数的方法. 例如我的响应信息为:{"ip":&q ...
- iOS UI调试神器,插件injection for Xcode使用方法
项目越来越大,代码编译时间越来越长,你是不是早已经厌倦了改一点点UI布局就要重新编译一次项目的过程,我们一分钟几百万上下的,怎能被编译浪费掉珍贵的时间.使用injectionforxcode这款插件, ...
- iOS 第三方框架-Masonry
介绍地址:http://www.cocoachina.com/ios/20141219/10702.html 官网:https://github.com/SnapKit/Masonry 记住:一定要先 ...
- Response.Redirect & window.location.href
对接中信的微信H5支付时,对方(其实是微信)需要对我们的域名进行授权,即,我方需向渠道报备支付域名,微信只认可由此域名发起的支付交易. 支付中心只提供了一套支付接口供下游系统访问.因为给渠道报备的域名 ...
- MyBatis基础入门《十九》动态SQL(set,trim)
MyBatis基础入门<十九>动态SQL(set,trim) 描述: 1. 问题 : 更新用户表数据时,若某个参数为null时,会导致更新错误 2. 分析: 正确结果: 若某个参数为nul ...
- LeetCode121.买卖股票的最佳时机
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. 如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润. 注意你不能在买入股票前卖出股票. 示例 ...
- laravel中使用event
https://www.cnblogs.com/ziyouchutuwenwu/p/4274539.html
- Installing IIS 8 on Windows Server 2012微软官方安装指导
from: https://www.iis.net/learn/get-started/whats-new-in-iis-8/installing-iis-8-on-windows-server-20 ...
- Beta冲刺阶段3.0
1. 提供当天站立式会议照片一张 2. 每个人的工作 (有work item 的ID) 成员 昨天已完成的工作 今天计划完成的工作 工作中遇到的困难 具体贡献 郑晓丽 完成"我的活动&quo ...