SVN双机热备

部分参考博客:http://www.2cto.com/os/201211/172348.html
自己实践如下:

已知:
主机IP:172.27.35.103
从机IP:172.27.35.101
并且主机与从机都已经安装了svn并建立了资源库
注意: 从机所有文件数据都在主机同步过来, 所以初始化时先清空从机资源库里面的内容。

1.主机与从机都将pre-revprop-change.bat拷贝到svn资源库的hooks下,例如:
D:\EDMPro\ALMS\ALMS-Server\ResourceRepos\mentoree_repos\hooks\pre-revprop-change.bat

2.从机执行命令:
svnsync init file:///D:/EDMPro/ALMS/ALMS-Server/ResourceRepos/mentoree_repos svn://172.27.35.103/mentoree_repos

3.从机执行命令2(初始化同步,从机去主机取文件数据内容):
svnsync sync file:///D:/EDMPro/ALMS/ALMS-Server/ResourceRepos/mentoree_repos

SVN双机热备_第1张图片



那么如何让主机主动推送数据给从机呢, 这里我们需要在主机发生了update操作(增加、修改、删除)时候,执行钩子。

我们已知主机向从机推送数据命令:
svnsync sync  --non-interactive svn://172.27.35.101/mentoree_repos  --username mentorlib --password mentorLib_Lib

1.钩子名称:post-commit.bat,内容如下:

SVN双机热备_第2张图片

主机将post-commit.bat拷贝到资源路径下,例如:
D:\EDMPro\ALMS\ALMS-Server\ResourceRepos\mentoree_repos\hooks\post-commit.bat
————————————————————————————————————————
操作完成后, 每次主机执行更新操作, 从机也会自动更新。

自我操作过程:
自己尝试用tsvn(小乌龟)执行更新操作第一次没有立即看到效果, 用命令行删除一个文件后,从机立即生效, 并且再用tsvn新增一个文件后,从机也随之改变。




你可能感兴趣的:(SVN)