svn远程备份

为了防止svn服务器崩溃等原因导致的数据丢失,

学习了一下使用svnsync进行svn远程备份。

1 搭建备份机环境

首先在备份机安装与服务器相同版本的VisualSVN-Server,

创建想要备份的svn数据源文件夹,

例如:与服务器端svn数据源相同的test,(file:///F:/Repositories/test)

之后在test\hooks文件夹下复制pre-revprop-change.tmpl ,

将其扩展名改为pre-revprop-change.bat,并将其内容清空,只留”exit 0″一行代码。

别忘记把服务器端所有用户也创建在备份机端的svnServer内。

2 初始化备份信息

在备份机DOS命令行下,cd c:\Program Files\VisualSVN Server\bin根目录下输入:

svnsync init file:///F:/Repositories/test  https://服务器ip:端口/svn/test

根据结果提示选择(P)ermanently,长期不变方式,

并根据提示输入备份机用户名,服务器svn用户名以及密码。

结果显示Copied properties for revision 0.则表示成功。

3 连接服务器进行备份

首次执行备份时需要删除SVN修订号0 svn:sync-lock的保护。

svn propdel svn:sync-lock –(两个减号)revprop -r 0  file:///F:/Repositories/test

之后就可以执行备份命令,来完成备份。

svnsync sync file:///F:/Repositories/test –(两个减号)username username –(两个减号)password password