• 禅道定时主从备份


    附:由于安装禅道方式为一键安装包安装,采用主从整包备份方式进行。
    主环境(禅道运行环境):192.168.67.69
    从环境(禅道备份包环境):192.168.67.60

    实现方式:
    1)在主环境上,停止禅道服务->备份整个禅道包zbox到从环境下的备份目录下->启动禅道服务
    2)在主环境下实现上述步骤并编写成脚本,在Linux定时任务下加入定时任务,定时执行该脚本
    3)在从环境下添加Linux定时任务清理脚本,定时清理备份目录下的旧文件

    1.登录主环境:192.168.67.69
    查看禅道安装路径为/opt/zbox:
    [root@iz2ze0xsbpma0nxv4gvvo0z home]# cd /opt/
    [root@iz2ze0xsbpma0nxv4gvvo0z opt]# ll
    总用量 0
    drwxr-xr-x. 10 bhd  bhd  123 3月  25 2019 zbox
    [root@iz2ze0xsbpma0nxv4gvvo0z opt]# cd zbox/
    [root@iz2ze0xsbpma0nxv4gvvo0z zbox]# pwd
    /opt/zbox

    2.在根目录下创建目录zentao_bak_sh,并在里面创建备份脚本zentao_bak.sh,并增加可执行权限:

    [root@iz2ze0xsbpma0nxv4gvvo0z /]# mkdir zentao_bak_sh
    [root@iz2ze0xsbpma0nxv4gvvo0z /]# cd zentao_bak_sh
    [root@iz2ze0xsbpma0nxv4gvvo0z zentao_bak_sh]# touch zentao_bak.sh
    [root@iz2ze0xsbpma0nxv4gvvo0z zentao_bak_sh]# chmod +x zentao_bak.sh

    3.编写zentao_bak.sh脚本:

    #!/bin/bash
    #禅道备份脚本
    zenboxPath="/opt/zbox"
    
    echo '--------开始备份--------'
    #判断禅道是否在启动中
    echo '正在停止禅道服务...'
    pid=$(ps -fu `whoami`|grep "$zenboxPath"|grep -v grep|awk '{print $2}')
    if [ -z "$pid" ];then
        echo "禅道已经关闭"
    else
        $zenboxPath/zbox stop
        sleep 8
        pidd=$(ps -fu `whoami`|grep "$zenboxPath"|grep -v grep|awk '{print $2}')
        if [ -z "$pidd" ];then
            echo '停止禅道服务成功!'
        else
            echo '禅道关闭异常,请排查!'
            exit 1
        fi
    fi
    
    echo '同步到从环境上...'
    /zentao_bak_sh/copy.sh echo "同步完成,备份成功!" $zenboxPath/zbox start sleep 5 curl -i http://localhost:8081 if [ $? -eq 28 -o $? -eq 7 ];then echo "禅道启动失败,请检查!" exit 1 else echo "禅道启动成功!" fi echo '--------备份结束--------'

    4.在zentao_bak_sh下新增并编写copy.sh脚本,首先在主环境上安装上expect并创建copy.sh脚本:

    [root@iz2ze0xsbpma0nxv4gvvo0z home]# yum -y install expect
    [root@iz2ze0xsbpma0nxv4gvvo0z home]# cd /zentao_bak_sh
    [root@iz2ze0xsbpma0nxv4gvvo0z zentao_bak_sh]# touch copy.sh
    [root@iz2ze0xsbpma0nxv4gvvo0z zentao_bak_sh]# chmod +x copy.sh

    copy.sh脚本内容:

    #!/usr/bin/expect
    #禅道跨机备份脚本
    
    set time [exec date +%Y%m%d_%H%M]
    
    #整个zbox备份到远程主机
    set timeout -1
    spawn scp -o StrictHostKeyChecking=no -P 22 -r /opt/zbox root@192.168.67.60:/home/zentao_bak/zbox_$time.bak
    
    expect {
    "(yes/no)?" {
       send "yes
    "
       expect "*assword:" { send "zentao_bakPWD@2019
    "}
      }
      "*assword:" {
       send "zentao_bakPWD@2019
    "
      }
    }
    expect eof

    5.在从环境上192.168.67.60,在home下新建zentao_bak目录:

    [root@iz2ze0xsbpma0nxv4gvvo0z home]# mkdir zentao_bak
    [root@iz2ze0xsbpma0nxv4gvvo0z home]# ll
    总用量 0
    drwx------. 3 bhd  bhd  78 4月  11 2018 bhd
    drwxr-xr-x. 2 root root  6 12月  4 15:10 zentao_bak

    6.在主环境上,加入定时任务,每周3,周五5晚上10点,执行zentao_bak.sh:

    [root@iz2ze0xsbpma0nxv4gvvo0z zentao_bak]# crontab -e
    crontab: installing new crontab

    加入:

    0 22 * * 3,5 /zentao_bak_sh/zentao_bak.sh
    [root@iz2ze0xsbpma0nxv4gvvo0z zentao_bak]# crontab -l
    0 22 * * 3,5 /zentao_bak_sh/zentao_bak.sh
    7.在从环境上,加入定时任务脚本,每周6晚上10点,删除/zentao_bak下的4天之前的文件:
    在/home/zentao_bak下创建zentao_clear.sh脚本:
    [root@iz2ze0xsbpma0nxv4gvvo0z zentao_bak]# ll
    总用量 4
    drwxr-xr-x. 10 root root 123 12月  4 16:06 zbox_20191204_1605.bak
    drwxr-xr-x. 10 root root 123 12月  4 16:14 zbox_20191204_1613.bak
    drwxr-xr-x. 10 root root 123 12月  4 16:21 zbox_20191204_1620.bak
    -rwxr-xr-x.  1 root root  86 12月  4 16:56 zentao_clear.sh

    zentao_clear.sh内容如下:

    #!/bin/bash
    #删除5天之前的备份包
    find /home/zentao_bak -type d -mtime +5 -name "*.bak" -exec rm -rf {} ;

    从环境加入定时清理任务:

    0 22 * * 6 /home/zentao_bak/zentao_clear.sh
    以梦为马,诗和远方
  • 相关阅读:
    CodeForces979D:Kuro and GCD and XOR and SUM(Trie树&指针&Xor)
    HDU4188:RealPhobia (连分数的运用之一)
    从HDU2588:GCD 到 HDU5514:Frogs (欧拉公式)
    SPOJ:Eagle and Dogs(求树上每个点最远可以走到哪里---树的直径||DP)
    【字符串】BZOJ上面几个AC自动机求最为字串出现次数的题目
    codeforces round #405 B. Bear and Friendship Condition
    codeforces round #419 C. Karen and Game
    codeforces round #419 B. Karen and Coffee
    codeforces round #419 A. Karen and Morning
    【ZOJ 3609】Modular Inverse 最小乘法逆元
  • 原文地址:https://www.cnblogs.com/MasterBai2018/p/12047668.html
Copyright © 2020-2023  润新知