欢迎来到天天文库
浏览记录
ID:51671533
大小:41.28 KB
页数:8页
时间:2020-03-14
《svn备份与恢复心得.docx》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、svn备份与恢复心得·SVN服务器配置Svn备份与恢复有感 今天的主要任务是对svn的备份与恢复进行测试,但是测试的过程中,也出现的一些问题,现在写出来与大家进行分享,希望对大家有所帮助。这里我介绍两种备份方式:完全备份和增量备份。首先进行完全备份的测试,我从网上查的方法进行测试。1.完全备份 最常见和简单的备份就是直接使用拷贝命令,将版本库目录拷贝到备份目录上,就可以了。但是这样不是很安全的方式,因为如果在拷贝时版本库发生变化,将会造成备份的结果不够准确,失去备份的作用,为此Subversion提供了“svnadminhotcopy”命令,可以防止这种问题。版本库目录
2、结构如下图所示: D:svnroot├─project1│├─conf│├─dav│├─db││├─revprops││├─revs││└─transactions│├─hooks│└─locks└─project2├─conf├─dav├─db│├─revprops│├─revs│└─transactions├─hooks└─locks 如果要把project1备份到d:svnrootbak目录下,只需要运行:svnadminhotcopyd:svnrootproject1d:svnrootbakproject1但是如果我们这个目录下有许多版本库,则需要为每个版本库写这样一条语
3、句备份,为此我写了下面的脚本,实现备份一个目录下的所有版本库。我们在D:svnroot下创建了两个文件,simpleBackup.bat: @echo正在备份版本库%1......@%SVN_HOME%binsvnadminhotcopy%1%BACKUP_DIRECTORY%%2@echo版本库%1成功备份到了%2! 这个文件仅仅是对“svnadminhotcopy”的包装,然后是backup.bat: @echooffsetSVN_HOME="C:ProgramFilesVisualSVNServer"//VisualSVNServer的安装路径setSVN_ROOT="D:
4、svnroot"//库根目录地址setBACKUP_SVN_ROOT="D:svnrootbak"//要备份的地址setBACKUP_DIRECTORY=%BACKUP_SVN_ROOT%%date:~0,10%ifexist%BACKUP_DIRECTORY%gotocheckBackecho%BACKUP_DIRECTORY%>>%SVN_ROOT%/backup.logmkdir%BACKUP_DIRECTORY%for/r%SVN_ROOT%%%Iin(.)do@ifexist"%%Iconfsvnserve.conf"%SVN_ROOT%simplebackup.bat
5、"%%~fI"%%~nIgotoend:checkBack@echo%BACKUP_DIRECTORY%gotoend:end 你在使用的时候,只需要修改backup.bat开头的三个路径,根据以上的配置,你只需要运行backup.bat,就可以把“SVN_ROOT”下的版本库都备份到“BACKUP_SVN_ROOT”里,并且存放在备份所在的目录里,例如“D:svnrootbak2006-10-22”。虽然这部分工作很简单,可是必须有人定时地去执行这个操作(例如每周一凌晨),为了避免发生遗忘的情况,我们可以将这个操作加入到系统的at任务当中去,例如还是上面的环境,为了安装at任务,我们运
6、行:at11:30/every:FD:svnrootbackup.bat这样在每周五晚上11:30都会执行这个备份过程。当然备份在本机也是不安全的,你也许需要上传到别的机器,这个就要靠你自己去实现了。出现的问题:1.D:svnrootbak2006-10-22中是空的。首先查看脚本,看看是不是路径写错了,经检查路径正确。然后运行命令,svnadminhotcopyd:svnrootproject1d:svnrootbakproject1发现命令不能运行,上网查原来是没设环境变量。下面是设环境变量的步骤:右键我的电脑-属性,在系统属性对话框中选择“高级”,单击”环境变量”,然后
7、编辑path路径,加上C:ProgramFilesVisualSVNServerbin;因为svn的命令都包含在这个文件夹下。解决办法:加上路径后,运行正确。2.增量备份 尽管完全备份非常简单,但是也是有代价的,当版本库非常巨大时,经常进行完全备份是不现实的,也并不必要,但是一旦版本库在备份之间发生问题,该如何呢,这里我们就用到了增量备份。增量备份通常要与完全备份结合使用,就像oracle数
此文档下载收益归作者所有