Jira+Confluence 攻关之路我用 Linux每天一个Linux命令

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

2019-12-10  本文已影响0人  walker86

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可依葫芦画瓢。

上一篇下一篇

猜你喜欢

热点阅读