• web工程自动部署(tomcat服务器)


    工作中经常需要把web项目打成war包之后部署到tomcat服务器上,每次更新时步骤比较类似,这里提供公共步骤,编写名为auto_deploy.sh的shell脚本,只需要传递两个参数即可自动完成部署操作。舒服!

    参数1:要部署的工程名

    参数2:要部署文件的路径

    shell脚本如下:

     1 #传递参数 要部署的工程名 要部署文件目录路径
     2 #!/bin/bash
     3 #需要修改的地方 start--
     4 #工程名
     5 readonly project_name= 6 #端口号
     7 readonly port=
     8 readonly xml_name=''
     9 readonly sh_name=''
    10 #需要修改的地方 end--
    11 #今日时间 格式为 YYYYY_MM_DD_HH_MM
    12 suffix=`date +%Y%m%d%H%M`
    13 #要部署工程的名字
    14 cur_project_name=$1
    15 #要部署文件目录路径
    16 declare dir=$2
    17 echo "传入的参数为部署工程名:$cur_project_name 文件路径:$dir"
    18 #备份后的名字
    19 bk_project_name=${project_name}"_"${suffix}
    20 echo ${bk_project_name}
    21 #备份原工程
    22 echo 'start---'
    23 if [ -d /data/wwwroot/$project_name ];
    24 then
    25 sudo mv /data/wwwroot/$project_name /data/wwwroot/$bk_project_name
    26 #拷贝待部署工程到wwwroot目录
    27 sudo cp -rf ${dir}/$cur_project_name /data/wwwroot/
    28 echo '拷贝over...'
    29 #重命名新工程名
    30 sudo mv /data/wwwroot/$cur_project_name /data/wwwroot/$project_name
    31 echo '重命名over...'
    32 #删除新工程class目录下除'cn'以外的文件
    33 ls /data/wwwroot/$project_name/WEB-INF/classes/ |grep -v cn|xargs rm -rf {}
    34 echo '清空新工程class下目录over...'
    35 #拷贝原工程中class下除'cn'以外的目录到新工程对应目录中
    36 cd /data/wwwroot/$bk_project_name/WEB-INF/classes/
    37 ls|grep -v cn|xargs -i cp -rf {} /data/wwwroot/$project_name/WEB-INF/classes/
    38 echo '添加class下目录over...'
    39 #覆盖web.xml文件
    40 sudo cp -rf /data/wwwroot/$bk_project_name/WEB-INF/web.xml /data/wwwroot/$project_name/WEB-INF/
    41 echo '覆盖over...'
    42 #查看原工程运行的进程id并kill 
    43 ps -ef|grep java|grep ${port}|grep ${xml_name}|grep -v grep|awk  '{print "kill -9 " $2}' |sh
    44 echo 'kill over...'
    45 #进入tomcat的bin目录下面
    46 cd /data/program/tomcat/bin/
    47 sudo ./${sh_name}.sh start
    48 echo 'end...'
    49 else
    50 echo '路径不存在'
    51 fi
  • 相关阅读:
    Xcode 统计代码行数
    AWS 根用户MFA丢失后如何处理
    istio 基础入门
    AWS 如何挑选合适EC2实例类型
    word去除页眉首页横线
    word 题注 图注 表注 交叉引用 自动编号
    (转)Python基础热图-参数超级详解
    VScode 运行代码显示:Code is already running!
    pyside2安装避坑
    vscode import numpy error:DLL load failed: The specific module could not be found
  • 原文地址:https://www.cnblogs.com/uodut/p/7070507.html
Copyright © 2020-2023  润新知