就做个记录吧, 其实也没啥好说的.

主机

#!/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项目+备份的更多相关文章

  1. shell实现自动部署两台tomcat项目Ⅱ

    本次分为3个脚本, scp.sh放进第一台机器(负责传输文件), schenglee.sh放进第一台机器(自动部署), schenglee2.sh放进第二台机器(自动部署) 环境 tomcat1: 1 ...

  2. 同一个服务器部署两个Tomcat并用Nginx实现反向代理

    需求场景:由于服务器只有80端口可供外网访问,但需要部署两台tomcat来运行两个不同的项目,所以选择了nginx做反向代理 一个upstream tomcat_server对应一个  locatio ...

  3. 如何在同一台服务器上部署两个tomcat

    因为测试的需要,有时我们必须在同一个服务器上部署两个tomcat,然后去做应用的部署,那么很多同学可能会觉得比较为难,找的资料也比较的不齐全,那么今天华华就来给大家讲讲如何部署2个tomcat,并能够 ...

  4. maven自动部署到远程tomcat教程

    使用maven的自动部署功能可以很方便的将maven工程自动部署到远程tomcat服务器,节省了大量时间. 本文章适用于tomcat的7.x ,8.x, 9.x版本. 下面是自动部的步骤 1,首先,配 ...

  5. Maven入门示例(3):自动部署至外部Tomcat

    Maven入门示例(3):自动部署至外部Tomcat 博客分类:  maven 2012原创   Maven入门示例(3):自动部署至外部Tomcat 上一篇,介绍了如何创建Maven项目以及如何在内 ...

  6. linux机器上部署多台Tomcat

    在Linux机器上部署多台Tomcat, 我部署的是Tomcat8,只需要一步,即避免端口号冲突. 在解压后的tomcat目录下,修改conf下server.xml. 修改shutdown端口: &l ...

  7. 一台服务器搭载两个tomcat项目

    之前下载的mysql  在官网是有 历史库的 如果现在一台机器上已经部署了一个tomcat服务,无论这个tomcat是否已经注册为服务了,或者没有注册windows服务,或者注册了,都没关系.都可以采 ...

  8. 在linux服务器上装svn版本管理,自动部署代码到web项目

    在linux服务器上装svn版本管理,自动部署代码到项目 1.安装svn服务器端  yum install subversion   从镜像下载安装svn服务器端 中间会提示是否ok,输入y,确认  ...

  9. 一台服务器部署多台tomcat

    如题,多个项目部署在一台服务器.减少容错性,觉得分开部署,这样一个tomcat挂了不会影响另一个项目.看配置和应用大小决定数量,一般四五个没问题,也有单台服务器部署8个tomcat稳定运行的. 下面记 ...

随机推荐

  1. Python的Matplotlib库简述

    Matplotlib 库是 python 的数据可视化库import matplotlib.pyplot as plt 1.字符串转化为日期 unrate = pd.read_csv("un ...

  2. SpringMVC项目模块浅析

    本文为个人笔记,对于springmvc模块的规划,仁者见仁.智者见智,请不要生搬硬套. 一.基础模块-basic 主要内容是dao.spring-xml.domain.service等内容,模块内分层 ...

  3. 20165321实验一 Java开发环境的熟悉

    一.idea调试: 二.实验内容: 实现学生成绩管理功能(增删改,排序,查找),并进行测试(正常情况,异常情况,边界情况). 运行截图: 代码: public class Student { Stri ...

  4. 多表关联查询_resultMap_集合对象

    多表关联查询_resultMap_集合对象_N+1方式实现 package com.bjsxt.mapper; import java.util.List; import com.bjsxt.pojo ...

  5. MyBatis基础入门《一》环境搭建

    MyBatis基础入门<一>环境搭建 参考资料链接:http://www.mybatis.org/mybatis-3/ 使用maven构建项目,STS开发工具,jdk1.8 项目结构: m ...

  6. 安装redis脚本

    #!/bin/bash#Function: Install redis#Author: DengYong#Date: 20151126 cd /root/packagewget http://down ...

  7. JAVA多线程常用例子

    详情见该页面ttps://www.cnblogs.com/pureEve/p/6524366.html

  8. mysql set

    sql server中变量要先申明后赋值: 局部变量用一个@标识,全局变量用两个@(常用的全局变量一般都是已经定义好的): 申明局部变量语法:declare @变量名 数据类型:例如:declare ...

  9. [1]windows 内核情景分析---说明

    本文说明:这一系列文章(笔记)是在看雪里面下载word文档,现转帖出来,希望更多的人能看到并分享,感谢原作者的分享精神. 说明 本文结合<Windows内核情景分析>(毛德操著).< ...

  10. VS 统计整个项目总的代码行数

    vs如何快速统计项目总代码行数呢,如下: vs编辑 | 查找和替换 | 在文件中查找 查找选项选 选择正则表达式 ^b*[^:b#/]+.*$ 设置如下:  结果在查找结果的最后一行,如下