本文主要是介绍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
[img]http://dl2.iteye.com/upload/attachment/0106/0436/f010a664-2045-36cb-ab44-c5824f83d511.png[/img]
[b]那么如何让主机主动推送数据给从机呢, 这里我们需要在主机发生了update操作(增加、修改、删除)时候,执行钩子。[/b]
我们已知主机向从机推送数据命令:
svnsync sync --non-interactive svn://172.27.35.101/mentoree_repos --username mentorlib --password mentorLib_Lib
1.钩子名称:post-commit.bat,内容如下:
[img]http://dl2.iteye.com/upload/attachment/0106/0431/1cbfe6f3-d1bd-33b5-898b-2fff9e813c78.png[/img]
主机将post-commit.bat拷贝到资源路径下,例如:
D:\EDMPro\ALMS\ALMS-Server\ResourceRepos\mentoree_repos\hooks\post-commit.bat
————————————————————————————————————————
操作完成后, 每次主机执行更新操作, 从机也会自动更新。
自我操作过程:
自己尝试用tsvn(小乌龟)执行更新操作第一次没有立即看到效果, 用命令行删除一个文件后,从机立即生效, 并且再用tsvn新增一个文件后,从机也随之改变。
这篇关于SVN双机热备的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!