Master 所在物理机:ESX,192.168.3.231
Slave 所在物理机:ESX,192.168.3.232
svnsync init https://192.168.3.200/svn/Doc https://192.168.0.226/svn/Doc
svnsync sync https://192.168.3.200/svn/Doc
但是在测试过程中,由于某几个版本的更新文件过大,传输过程超时而造成不可恢复的中断。
主-192.168.0.226上执行:
svnhotcopy E:\Repositories\Doc Z:\svnfullbacktest\Doc
从-192.168.3.200上执行:
svnhotcopy Z:\svnfullbacktest\Doc E:\Repositories\Doc
主-192.168.0.226上执行:
svnsync init https://192.168.3.200/svn/Doc https://192.168.0.226/svn/Doc --allow-non-empty
这样是使用先完全备份的方式,然后再在完全备份的基础上执行同步初始化,然后再在此基础上完成之后的同步。
svnadmin hotcopy E:\Repositories\Doc Z:\svnbackup\Doc
svnadmin hotcopy E:\Repositories\ProjectNew Z:\svnbackup\ProjectNew
svnadmin hotcopy E:\Repositories\Project Z:\svnbackup\Project
在备份服务器192.168.3.200上将映射的158的Z盘中的Z:\svnbackup\Doc、Z:\svnbackup\ProjectNew、Z:\svnbackup\Project拷到E盘的Repositories目录下
首先在源服务器192.168.0.226的svnmanager上创建用于同步的用户sync,密码sync,并为每个Repositories添加sync用户,使其具有Read/Write的权限
将源服务器192.168.0.226上的参数文件完全copy到备份服务器192.168.3.200对应的目录下:E:\Repositories\groups.conf,E:\Repositories\htpasswd,E:\Repositories\ VisualSVN-GlobalWinAuthz.ini
复制文件E:\Repositories\Doc\hooks\pre-revprop-change.tmpl为E:\Repositories\Doc\hooks\pre-revprop-change.bak,并删除行的bak文件的所有内容,添加一行exit 0。保持其他的tmpl文件不变。
ProjectNew和Project目录同样修改。
svnsync init https://192.168.3.200/svn/Doc https://192.168.0.226/svn/Doc --username sync --password sync --allow-non-empty
svnsync init https://192.168.3.200/svn/ProjectNew https://192.168.0.226/svn/ProjectNew --username sync --password sync --allow-non-empty
svnsync init https://192.168.3.200/svn/Project https://192.168.0.226/svn/Project --username sync --password sync --allow-non-empty
修改源服务器192.168.0.226上的
Z:\svnbackuptest\Doc\hooks\post-commit.bat
在最后添加一行同步命令:
svnsync sync https://192.168.3.200/svn/Doc --username sync --password sync --non-interactive --trust-server-cert --sync-trust-server-cert-failures unknown-ca,cn-mismatch,expired,not-yet-valid,other --source-trust-server-cert-failures unknown-ca,cn-mismatch,expired,not-yet-valid,other
ProjectNew和Project目录页同样进行修改
主服务器(192.168.0.226)每周二、四、六凌晨02:00执行远程备份,将3个Repositories远程备份到192.168.0.158的E:\hotcopyfullbackup对应目录下
从服务器(192.168.3.200)每周三、五凌晨02:00执行远程备份,将3个Repositories远程备份到192.168.0.158的E:\hotcopyfullbackup对应目录下
通过计划任务实施自动备份,详情如下:
Z:\svnhotcopyfullbackup\Doc
Z:\svnhotcopyfullbackup\ProjectNew
Z:\svnhotcopyfullbackup\Project
svnadmin hotcopy E:\Repositories\Doc Z:\svnhotcopyfullbackup\Doc\Doc-hc.%date:~0,4%年%date:~5,2%月%date:~8,2%日
svnadmin hotcopy E:\Repositories\ProjectNew Z:\svnhotcopyfullbackup\ProjectNew\ProjectNew-hc.%date:~0,4%年%date:~5,2%月%date:~8,2%日
svnadmin hotcopy E:\Repositories\Project Z:\svnhotcopyfullbackup\Project\Project-hc.%date:~0,4%年%date:~5,2%月%date:~8,2%日
E:\backupscripts
Tips 备份目录名时间设置
******************
年 %date:~0,4%
月 %date:~5,2%
日 %date:~8,2%
******************
主服务器(192.168.3.200)通过E:\Repositories\Doc\hooks中的脚本post-commit.bat实施进行增量备份,并且每天晚上11:30将增量备份文件copy一次到158
目标备份目录沿用之前的Z:\svndeltabackup\Doc、Z:\svndeltabackup\Project 和 Z:\svndeltabackup\ProjectNew。
取消原有的dump完全备份以及0.226和0.158之间的dump文件移动操作