svn 版本库的备份和还原

svn 版本库的备份和还原

作者:comet日期:2007-06-16

字体大小:小中大

仓库中版本的备份及还原形式主要有两种:

方式一:直接备份仓库整个文件夹(全部版本),重装svn程序后直接还原过去。

方式二:通过svn命令行备份和还原指定版本号的数据

全备份:使用svnadminhotcopy或svnsync来做,例:

svnadminhotcopypath/to/repositorypath/to/backup--clean-logs

增量备份:使用svnadmindump的--incremental选项来实现

svnadmindump版本库路径及名称--revision上次导出的版本号:到本次要导出到的版本号--incremental>导出的命名

还原版本:svnadminload要恢复的版本库路径及名称<导出的命名

svnadminhotcopypath/to/repositorypath/to/backup--clean-logs

一个技巧:

如果你有一个较大的Subsersion版本库而你又想用最少的空间来将它备份下来,用这个命令(请将/repo替换成你的版本库路径)吧:

svnadmindump--deltas/repo|bzip2|teedump.bz2|md5sum>dump.md5

分步解释:

最重要的一步是-deltas,将消耗更多的CPU资源,但拥有更有效的差异存储办法。

bzip2压缩方案比gzip慢,但换来的更好的压缩率。

更有趣的是,tee方法将压缩的数据流转向到文件dump.bz2,同时将其输出到标准输出,后者有转向给了MD5摘要计算工具。

要恢复这个版本库,检查校验值(md5sum创建的),创建一个空的版本库,恢复备份:

md5sum-cdump.md5<dump.bz2

svnadmincreatenewrepo

bzcatdump.bz2|svnadminloadnewrepo

请享受压缩后用MD5校验的备份吧,最后别忘记将dump.md5和dump.bz2存储到真正安全的地方!

相关推荐