• linux自动更新代码,自动备份数据库,打包应用发布


    切换root用户

    sudo su -

    1.安装svn,mysql

    yum install subversion

    yum install mysql

    2.安装 maven

    下载:百度云盘地址为

     http://pan.baidu.com/s/1nuKQGjv

    解压

    tar -zxvf apache-maven-3.0.5-bin.tar.gz -C /apps/svr/maven/apache-maven-3.0.5

    3.配置maven环境变量

    export MAVEN_HOME=/apps/svr/maven/apache-maven-3.0.5
    export PATH=${MAVEN_HOME}/bin:${PATH}

    4.checkout 

    svn checkout svn://url

    5.启动脚本 publish.sh

    #!/bin/sh
    currentDay=`date +%Y%m%d`
    currentTime=`date +%Y%m%d%H%M%S`
    
    tomcat1=/apps/tomcat/tomcat1/apache-tomcat-7.0.69
    tomcat2=/apps/tomcat/tomcat2/apache-tomcat-7.0.69
    confDir=/apps/conf
    svnDir=/apps/svn
    
    echo ">>>>>>>>>>>>>>>>>>>>>>>>备份数据库" 
    sh /apps/sh/backup.sh
    echo ">>>>>>>>>>>>>>>>>>>>>>>>更新代码" 
    cd $svnDir 
    svn up
    echo ">>>>>>>>>>>>>>>>>>>>>>>>编译打包"
    mvn -U clean install -DskipTests -X
    sleep 120s 
    echo ">>>>>>>>>>>>>>>>>>>>>>>>备份版本"
    mkdir -p /apps/war/$currentDay
    cp $svnDir/efc.eac.war/target/efc.eac.war.war /apps/war/$currentDay/"efc.eac.war_$currentTime".war
    echo ">>>>>>>>>>>>>>>>>>>>>>>>停止tomcat1" 
    #sh $tomcat1/bin/shutdown.sh
    kill -9 `cat /apps/conf/pid/tomcat1.pid`
    sleep 120s 
    echo ">>>>>>>>>>>>>>>>>>>>>>>>删除tomcat1下的文件" 
    rm -rf $tomcat1/webapps/efc.eac.war
    echo ">>>>>>>>>>>>>>>>>>>>>>>>发布tomcat1"
    unzip $svnDir/efc.eac.war/target/efc.eac.war.war -d $tomcat1/webapps/efc.eac.war
    sleep 20s
    echo ">>>>>>>>>>>>>>>>>>>>>>>>复制tomcat1环境配置文件"
    cp $confDir/tomcat1/system.properties $tomcat1/webapps/efc.eac.war/WEB-INF/classes/
    echo ">>>>>>>>>>>>>>>>>>>>>>>>启动 tomcat1" 
    sh $tomcat1/bin/startup.sh
    sleep 180
    echo ">>>>>>>>>>>>>>>>>>>>>>>>停止tomcat2" 
    #sh $tomcat2/bin/shutdown.sh
    kill -9 `cat /apps/conf/pid/tomcat2.pid`
    
    sleep 120s
    echo ">>>>>>>>>>>>>>>>>>>>>>>>删除tomcat2下的文件" 
    rm -rf $tomcat2/webapps/efc.eac.war
    echo ">>>>>>>>>>>>>>>>>>>>>>>>发布tomcat2"
    unzip $svnDir/efc.eac.war/target/efc.eac.war.war -d $tomcat2/webapps/efc.eac.war
    sleep 20s 
    echo ">>>>>>>>>>>>>>>>>>>>>>>>复制tomcat2环境配置文件"
    cp $confDir/tomcat2/system.properties $tomcat2/webapps/efc.eac.war/WEB-INF/classes/
    echo ">>>>>>>>>>>>>>>>>>>>>>>>启动 tomcat2" 
    sh $tomcat2/bin/startup.sh

    6.数据库备份脚本 backup.sh

    #! /bin/bash
    #备份地址
    backupdir=/apps/war
    curr_date=`date +%Y%m%d`
    time=`date +%Y%m%d%H%M%S`
    db_ip=10.24.66.155
    db_name=eac_sit
    db_user=eac_sit
    db_pass=Eac_sit#1221
    mkdir -p $backupdir/$curr_date
    #备份数据库
    mysqldump -u$db_name -h$db_ip -p$db_pass --single-transaction  $db_name | gzip > $backupdir/$curr_date/$db_name$time.sql.gz
    #清除五天前的备份
    find $backupdir/$curr_date -name $db_name"*.sql.gz" -type f -mtime +5 -exec rm -rf {} \;>/dev/null 2>&1
    

      

    7.查看启动日志

    more /var/spool/mail/apps

    8.设置定时任务,定时发布版本

    crontab -e

    每天10,16点自动执行

    0 10,16 * * * sh /apps/sh/publish.sh

  • 相关阅读:
    HDU 2955(01背包问题)
    POJ 2250(LCS最长公共子序列)
    POJ 3356(最短编辑距离问题)
    HDU 1069 Monkey and Banana(LIS最长上升子序列)
    POJ
    HDU 2955(0-1背包问题)
    HDU2602 (0-1背包问题)
    hdu1003 Max Sum(经典dp )
    C题
    D题(贪心)
  • 原文地址:https://www.cnblogs.com/yun965861480/p/6251061.html
Copyright © 2020-2023  润新知