zoukankan      html  css  js  c++  java
  • 升级代码脚本

    #!/bin/bash
    #wangmo
    #20171206
    #Update xizang project code
    
    code=/root/code/xizang_PAD_project/PHP_business_server/tfcms
    path=/home/seim
    #ip=x.x.x.x
    ip=x.x.x.x
    time=`date +%Y%m%d-%H%M`
    upload=/home/seim/upload
    upload_ln=/home/seim/tfcms/public/
    config=/root/code/xizang_PAD_project/PHP_business_server/tfcms/public/index.php
    
    #Determine the results
    result() {
        if [ $? != 0 ];then
            echo -e "33[31m$ip $faild33[0m" && exit 1
        else
            echo -e "33[32m$ip $ok33[0m"
        fi
    }
    
    #usage: $1 is commit ID
    if [ $# -lt 1 ];then
        echo -e "33[31m usage: sh $0 Tag_ID33[0m" 
        echo -e "33[31m example: sh $0 da14fbb1f38000e045f3e350e1e8d543e8b776e1 33[0m" 
        echo -e "33[31m explain: 升级主机要配置ssh免密,可以使用auto_ssh.sh 33[0m" && exit 2
    fi
    
    #pull tag code
    ok="checkout tag ok !";faild="checkout tag faild !"
    if [ -d $code ];then
        cd $code
        git checkout main_dev
        git pull
        git reset --hard $1
    else
        echo -e "33[31m$code not exist33[0m" && exit 4
    fi
    
    #backup remote code
    ok="backup code ok !";faild="backup code faild !"
    ping -c 1 $ip
    if [ $? == 0 ];then
        ssh -t -p 22 root@$ip "cd $path/tfcms"  
        if [ $? == 0 ];then
            ssh -t -p 22 root@$ip "cp -arf $path/tfcms/ $path/backup/tfcms_$time\_bak"
            result
        else
            echo -e "33[31m$ip $path not exist !33[0m" && exit 5
        fi
    else
        echo -e "33[31m$ip network unreachable !33[0m" && exit 6
    fi
    
    #rsync code to remote
    ok="rsync code ok !";faild="rsync code faild !"
    rsync -avzp --delete --exclude-from="/root/scripts/xizang/exclude.list" --exclude '.git' $code root@$ip:$path
    result
    
    Create soft connections
    ok="Create soft connections ok !";faild="Create soft connections faild !"
    ssh -t -p 22 root@$ip "ln -s $upload $upload_ln"
    result
    
    #set permission
    ok="set permission ok !";faild="set permission faild !"
    ssh -t -p 22 root@$ip "chmod -R 755 $path"
    ssh -t -p 22 root@$ip "chown -R seim.seim $path"
    result
  • 相关阅读:
    IDEA 2020.1 使用eclipse快捷键
    IDEA 2020.1 配置自定义Maven
    Maven 下载、安装、设置国内镜像
    IDEA 2020.1 下载、安装、激活
    MySQL 5.5/5.7 zip版 下载、安装、卸载、报错
    JDK8 下载、安装、配置环境变量
    如何在虚拟机VM15中安装W10
    虚拟机的安装,VMware-workstation-full-15.5.1-15018445
    为什么要买云服务器
    输入子系统实现的按键驱动
  • 原文地址:https://www.cnblogs.com/wangmo/p/9039841.html
Copyright © 2011-2022 走看看