linux svn 增量备份脚本,SVN全量与增量备份

全量备份参考脚本:

[root@dev ~]# echo '00 01 1 /usr/local/scripts/incr0_svn.sh' > /var/spool/cron/root

[root@dev ~]# cat /usr/local/scripts/incr0_svn.sh

#!/bin/sh

DATE=$(date +%Y%m%d:%H:%M:%S) #定义时间变量,用于文件名后缀

SVN_DIR=/svn_data/jsb #定义SVN库目录变量

SVN_BAK_DIR=/svn_data/backup/ #定义备份文件存放目录变量

echo '0' > /tmp/jsb_svn_id #初始化版本号,全库备份一定是从0版本号开始

NUM1=$(cat /tmp/jsb_svn_id) #取初始化版本号

NUM2=$(svnlook youngest $SVN_DIR) #取当前最新的版本号

#开始备份

svnadmin dump $SVN_DIR -r $NUM1:$NUM2 --incremental > $SVN_BAK_DIR/jsbbak$DATE

#判断备份是否成功,若成功,则记录当前最新的版本号到临时文件中,用于下次增量备份使用

if [ $? -eq 0 ];

then

echo $NUM2 > /tmp/jsb_svn_id

else

echo "backup fail...."

fi

增量备份参考脚本:

[root@dev ~]# echo '00 02 * /usr/local/scripts/incr1_svn.sh' > /var/spool/cron/root

[root@dev ~]# cat /usr/local/scripts/incr1_svn.sh

#!/bin/sh

DATE=$(date +%Y%m%d:%H:%M:%S) #定义时间变量,用于文件名后缀

SVN_DIR=/svn_data/jsb #定义SVN库目录变量

SVN_BAK_DIR=/svn_data/backup/ #定义备份文件存放目录变量

NUM1=$(cat /tmp/jsb_svn_id) #取初始化版本号

NUM2=$(svnlook youngest $SVN_DIR) #取当前最新的版本号

#开始备份

svnadmin dump $SVN_DIR -r $NUM1:$NUM2 --incremental > $SVN_BAK_DIR/jsbbak$DATE

#判断备份是否成功,若成功,则记录当前最新的版本号到临时文件中,用于下次增量备份使用

if [ $? -eq 0 ];

then

echo $NUM2 > /tmp/jsb_svn_id

else

echo "backup fail...."

fi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值