Linux篇:rsync实现Jira+Confluence数据备

作者: walker86 | 来源:发表于2019-12-10 23:38 被阅读0次

    01 前言

    上两篇文章,学习了rsync的基本用法与两种运行方式,今天结合工作中的一个实际应用案例来巩固一下rsync的用法,同时对Jira和Confluence进行备份

    02 备份脚本编写

    这里以Jira为例。目前Jira部署在10.137.128.182服务器上,另外有一台服务器10.137.128.183可做备份服务器,现在要利用rsync工具实现数据目录的备份。

    第一步:用变量表示数据存储路径与备份数据

    #  dir1为原始数据目录,dir2为本机备份目录和异地备份目录

    dir1 = /var/atlassian/application-data/jira/

    dir2 = /data/jira/jiradata/

    第二步:定义时间戳,便于记录

    # 定义时间戳,time1显示类型为20191210,time2显示类型为2019-12-10 23:58:00

    time1 = `date +%Y%m%d`

    time2 = `date +%Y-%m-%d%t%H:%M:%S`

    第三步:定义备份日志,方便排查问题

    log = /data/jira/jira-${time1}.log

    第四步:判断路径与日志文件是否存在

    [   -d   $dir2   ]   &&   echo " " >/dev/nell   2>&1   ||   mkdir   -p   $dir2

    [   -f   $log   ]   &&   echo " " >/dev/nell   2>&1   ||   touch   $log

    第五步:rsync本地备份并验证是否成功

    rsync   -avu   --exclude   "log*"   $dir1   $dir2

    if   [   S?   -eq   0   ]; then

        echo   "【$time2】JIRA BACK TO LOCAL SUCCESSED " >>  $log

    else

        echo   "【$time2】JIRA BACK TO LOCAL FAILED " >>  $log

    fi

    第六步:rsync 异地备份并验证是否成功

    rsync   -avu   --exclude   "log*"   $dir1   root@10.137.128.183:$dir2

    if   [   S?   -eq   0   ]; then

        echo   "【$time2】JIRA BACK TO REMOTE SUCCESSED " >>  $log

    else

        echo   "【$time2】JIRA BACK TO REMOTE FAILED " >>  $log

    fi

    基本上脚本就以完成了,为了脚本安全和方便调试,可加上set -e 和set -u 选项,那完整的命令如下:

    第一部分 第二部分

    第七步:将脚本加入定时任务

    coontab  -e

    00  02  *  *  *   bash   /home/gzcb/jira_back.sh

    脚本就完成啦,Confluence可依葫芦画瓢。

    相关文章

      网友评论

        本文标题:Linux篇:rsync实现Jira+Confluence数据备

        本文链接:https://www.haomeiwen.com/subject/vmengctx.html