• Shell自动备份部署新项目(2)


    优化了脚本,实现自动备份,自动重启Tomcat

    #!/bin/bash
    NEW_WAR="mobile.war"
    PROJECT_NAME="tomcat-app1"
    #当前目录
    BASE_PATH=$(cd `dirname $0`; pwd)
    echo "当前目录${BASE_PATH}"
    
    #创建临时文件夹
    tempDirName=`date "+%Y%m%d%H%M%S"`
    tempDirName="bak/mobile-${tempDirName}"
    echo "准备创建临时文件夹:${tempDirName}"
    `mkdir ${tempDirName}`
    
    #停止Tomcat
    cd /usr/tomcat/${PROJECT_NAME}/bin/
    ./shutdown.sh
    echo "停止Tomcat..."
    cd ${BASE_PATH}
    
    #暂停4S等待Tomcat停止
    sleep 4s
    
    #杀掉Tomcat进程(如果还没停止的话)
    PROCESS=`ps -ef|grep ${PROJECT_NAME}|grep -v grep|grep -v PPID|awk '{ print $2}'`
    for i in ${PROCESS}  
    do
      echo "终止进程 ${PROJECT_NAME} process id = [ ${i} ]"
      kill -9 ${i}
    done
    
    #移动war文件到临时文件夹
    `mv /usr/tomcat/${PROJECT_NAME}/webapps/ROOT.war ${tempDirName}`
    
    #移动日志文件,暂时不做
    
    #删除ROOT文件夹
    echo "删除ROOT文件夹"
    `rm -rf /usr/tomcat/${PROJECT_NAME}/webapps/ROOT`
    
    #拷贝发布包到webapps
    echo "拷贝发布包到webapps"
    `cp ${NEW_WAR} /usr/tomcat/${PROJECT_NAME}/webapps/ROOT.war`
    
    #启动Tomcat
    cd /usr/tomcat/${PROJECT_NAME}/bin/
    ./startup.sh
    echo "启动Tomcat..."
    cd ${BASE_PATH}
    
    #等待ROOT文件夹生成
    echo "等待ROOT文件夹生成"
    while :
    do
    	if [ -d "/usr/tomcat/${PROJECT_NAME}/webapps/ROOT" ]
    	then
    		break;
    	fi
    	echo -e "=c"
    	sleep 1s
    done
    echo "发布完毕 O(∩_∩)O~"
    

      

  • 相关阅读:
    cantor 数表
    利用form的“acceptcharset”在不同编码的页面间提交表单
    <li>标签,在文字超出宽度时引起混乱的解决办法
    java中 Integer.getInteger(String str)的疑惑
    SQL语句集锦
    禁用鼠标右键
    ROW_NUMBER() OVER函数的基本用法
    listview
    decodeResource
    LinkedList
  • 原文地址:https://www.cnblogs.com/song-wentao/p/7782821.html
Copyright © 2020-2023  润新知