svn备份

百度抄来的,未测试http://zhidao.baidu.com/question/394796997.html
SVN有两种备份机制:
1、hotcopy,可以实现增量或全库的热备,具体的指令参数可以查看svn hotcopy的帮助; 2、svnsync,本用作svn服务器间的同步,也常被用作备份。我个人喜欢这种备份方式,我详细说一下这种方法吧。 svnsync是用作将源服务器的某个版本库同步到备份服务器,同步完成后两个服务器的内容是完全一样的,免去了将hotcopy的结果进行还原的操作。 我一般将这个命令放在post-commit这个钩子里(服务器端该版本库hooks文件夹下post-commit.bat),这样的话每次有人进行commit操作就会触发这个钩子,就会自动执行同步操作,这样就实现了实时备份。 要用svnsync实现实时备份需要这么操作: 1、在备份服务器(其实也可以是同一个服务器上的另一个版本库,比如源版本库是放在D盘上,备份版本库我放在移动硬盘上)上创建备份版本库,空的,什么都不要添加,配置该版本库的权限为只有用于备份的ID可以读写,其他人顶多给个只读权限,绝对不要给别人写的权限,因为一旦有人往这个版本库做了commit操作,就会无法继续同步了。 2、给备份版本库的hooks文件夹下加一个pre-revprop-change.bat钩子,钩子内容就一句exit 0 3、执行svnsync init操作,将源版本库、目标版本库关联起来 4、在源版本库的hooks文件夹下加一个post-commit.bat钩子,内容一般两句就够了: svnsync sync XXXXXXXXXXXXXXX svnsync copy-revprops XXXXXXXXXXXXXXX 关于svnsync init、svnsync sync、svnsync copy-revprops 后面的参数,查看随机帮助吧。

 

posted on 2013-03-26 22:29  雨渐渐  阅读(360)  评论(0编辑  收藏  举报

导航