1、使用svnsync指令,将源SVN服务器上的版本库同步到备份SVN服务器去(增量同步),一般和post-commit钩子结合使用,在post-commit这个钩子中设定每次commit时自动执行一次同步 *** 作。
2、使用svnadmin hotcopy指令,将SVN服务器上的版本库备份到某个文件夹(可以是整库备份,也可以是增量备份),可以与post-commit钩子结合使用,也可以用 *** 作系统的定时任务来调用。
其它还有比如开源软件freefilesync,也可以实现源文件夹和目标文件夹之间的同步,可以设定同步 *** 作的间隔时间,也可以实现备份,用起来也比较简单。
当然,最省事的方法莫过于安装Collabnet SVN Edge版SVN服务器,这个SVN服务器安装包的安装配置都很省心,基本一个安装包装完就能用,自带了SVN服务器控制台,通过控制台就可以配置进行SVN库的备份。
svn的备份与还原仓库中版本的备份及还原形式主要有两种:方式一:直接备份仓库整个文件夹(全部版本),重装svn程序后直接还原过去。
方式二:通过svn命令行备份和还原指定版本号的数据
全备份:使用svnadmin hotcopy或svnsync来做,例:
svnadmin hotcopy path/to/repository path/to/backup –clean-logs
增量备份:使用svnadmin dump的–incremental选项来实现
svnadmin dump 版本库路径及名称 –revision 上次导出的版本号:到本次要导出到的版本号 –
incremental >导出的命名
还原版本:svnadmin load 要恢复的版本库路径及名称 <导出的命名
svnadmin hotcopy path/to/repository path/to/backup –clean-logs
一个技巧:如果你有一个较大的Subsersion版本库而你又想用最少的空间来将它备份下来,
用这个命令(请将/repo替换成你的版本库路径)吧:
svnadmin dump –deltas /repo |bzip2 |tee dump.bz2 | md5sum >dump.md5
分步解释:最重要的一步是 -deltas,将消耗更多的CPU资源,但拥有更有效的差异存储办法。
bzip2压缩方案比gzip慢,但换来的更好的压缩率。
更有趣的是,tee方法将压缩的数据流转向到文件dump.bz2,同时将其输出到标准输出,后者
有转向给了MD5摘要计算工具。
要恢复这个版本库,检查校验值(md5sum创建的),创建一个空的版本库,恢复备份:
md5sum -c dump.md5 <dump.bz2
svnadmin create newrepo
bzcat dump.bz2 | svnadmin load newrepo
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)