Chinaunix首页 | 论坛 | 博客
  • 博客访问: 168622
  • 博文数量: 134
  • 博客积分: 1215
  • 博客等级: 少尉
  • 技术积分: 564
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-20 11:04
文章分类

全部博文(134)

文章存档

2017年(88)

2012年(46)

我的朋友

分类: LINUX

2017-04-14 10:24:29

过程中,我采用svnadmin hotcopy来导出数据,建议使用svnadmin dump来全量,因为旧的是1.4.x版本,要的新服务器版本为1.6.6,所有在导入dump文件的时候会出错,可能是subversion的bug的,当文件过去后,为了保证数据的完整性,需要对库进行最后一次,这时候就不需要全量了,只需要把更新的内容添加下。

在subversion工作过程中,当subversion有更新时,他就会记录顺序号,无限递增,所以我们只需要之后的就ok!

下面是一段简单的备份

#!/bin/bash
svn_repos=”/svn/roc”   #要备份的库
backup_dir=”/home/linlp/backup”     #备份文件存放路径
rsync_repos=”/home/linlp/roc”       #hotcopy已经的库
next_backup_file=”add_incremental_backup.”.`date +%Y%m%d`
log=”$backup_dir/last_backed_up”.`date +%Y%m%d`   #日志文件
echo “********************”`date`”***************”>> $log
echo “SVN ADD DUMP start!”>> $log
first_rev=”`/usr/local/subversion/bin/svnlook youngest $rsync_repos`”        #上一次备份库的版本号
last_rev=”`/usr/local/subversion/bin/svnlook youngest $svn_repos`”             #现在源库的版本号
if [ $first_rev  -eq $last_rev ];then
echo “No new revisions to backup.”
exit 0
else
echo “Backing up revisions $first_rev …”
/usr/local/subversion/bin/svnadmin dump –incremental –revision $first_rev:$last_rev $svn_repos > $backup_dir/$next_backup_file           #取中间值
fi
echo “Fist:$first_rev”>> $log
echo “Last:$last_rev”>> $log  #记录备份的版本号

echo “********************”`date`”***************”>>$log

 

 

我们来看下记录的日志:

********************Wed Dec 21 11:54:04 CST 2011***************
SVN ADD DUMP start!
Fist:24468
Last:24476
********************Wed Dec 21 11:55:37 CST 2011***************

说明这次备份是从24468更新到27796

注意:备份处理的文件只是dump文件,要导入库才可以使用。


阅读(813) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~