1、使用svnsync指令,将源SVN服务器上的版本库同步到备份SVN服务器去(增量同步),一般和post-commit钩子结合使用,在post-commit这个钩子中设定每次commit时自动执行一次同步操作。
2、使用svnadmin hotcopy指令,将SVN服务器上的版本库备份到某个文件夹(可以是整库备份,也可以是增量备份),可以与post-commit钩子结合使用,也可以用操作系统的定时任务来调用。
其它还有比如开源软件freefilesync,也可以实现源文件夹和目标文件夹之间的同步,可以设定同步操作的间隔时间,也可以实现备份,用起来也比较简单。
当然,最省事的方法莫过于安装Collabnet SVN Edge版SVN服务器,这个SVN服务器安装包的安装配置都很省心,基本一个安装包装完就能用,自带了SVN服务器控制台,通过控制台就可以配置进行SVN库的备份。
SVN的备份至少有两种方式:1、利用svnsync,把要备份的版本库同步到另一台SVN服务器上
2、利用svn hotcopy,把要备份的版本库备份到同一台服务器的其他文件夹中
条件许可的话,建议使用第一种方式,毕竟安全系数更高些,不怕服务器硬件故障。
使用第一种方式的话,按如下步骤:
1、在备份用SVN服务器上,建立一个新的空版本库。
2、在备份用空版本库的hooks文件夹中新建一个文本文件,其中写入一行“exit 0”,重命名为pre-revprop-change.bat。
3、在备份服务器上命令行执行:
svnsync init 备份版本库访问url 源版本库访问url --sync-username 备份版本库用户名 --sync-password 备份版本库用户密码 --source-username 源版本库用户名 --source-password 源版本库用户密码
4、在源服务器上相应版本库的hooks文件夹中增加一个post-commit.bat(如果是windows操作系统的话),里面写上两行内容:
svnsync sync 备份版本库访问url --sync-username 备份版本库用户名 --sync-password 备份版本库用户密码 --source-username 源版本库用户名 --source-password 源版本库用户密码
svnsync copy-revprops 备份版本库访问url --sync-username 备份版本库用户名 --sync-password 备份版本库用户密码 --source-username 源版本库用户名 --source-password 源版本库用户密码
如果以上操作都正常无误的话,这时就设置成功了,每次发生commit操作,都会自动将源版本库的内容同步到备份版本库中。
SVN库迁移方案(采用dump-load方案):从subversion1.4.4开始,提供了svnsync命令,可用于Subversion的库迁移和备份,这里我们用于备份操作的初始化同步。
为保证svn服务器的安全,由脚本每天定时对svn库进行备份,以保证svn库的安全性。备份仍然采用svnsync来完成。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)