zoukankan      html  css  js  c++  java
  • 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~"
    

      

  • 相关阅读:
    Android高手进阶教程(五)之----Android 中LayoutInflater的使用!
    APDPlat
    微博项目学习笔记
    iOS极光推送进一部使用(重点)
    iOS 打测试包
    自定义UICollectionViewFlowLayout
    解决UITableview 底部留白
    NSAttributedString 富文本样式
    OC排序算法
    CALayer,,,CATextLayer,,,CAShapeLayer,, CAGradientLayer
  • 原文地址:https://www.cnblogs.com/song-wentao/p/7782821.html
Copyright © 2011-2022 走看看