svn备份与恢复心得.docxVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
svn备份与恢复心得  HYPERLINK /index.php?q=forum/2 \o 专门讨论SVN(Subversion)的安装、配置、技巧等,包括Windows、Unix/Linux系统环境下的svnserve,Apache和SSH。 SVN服务器配置 Svn备份与恢复有感 ?????? 今天的主要任务是对svn的备份与恢复进行测试,但是测试的过程中,也出现的一些问题,现在写出来与大家进行分享,希望对大家有所帮助。 这里我介绍两种备份方式:完全备份和增量备份。 首先进行完全备份的测试,我从网上查的方法进行测试。 1. 完全备份 ??????? 最常见和简单的备份就是直接使用拷贝命令,将版本库目录拷贝到备份目录上,就可以了。但是这样不是很安全的方式,因为如果在拷贝时版本库发生变化,将会造成备份的结果不够准确,失去备份的作用,为此Subversion提供了“svnadmin hotcopy”命令,可以防止这种问题。 版本库目录结构如下图所示: ? D:\svnroot ├─project1 │ ├─conf │ ├─dav │ ├─db │ │ ├─revprops │ │ ├─revs │ │ └─transactions │ ├─hooks │ └─locks └─project2 ├─conf ├─dav ├─db │ ├─revprops │ ├─revs │ └─transactions ├─hooks └─locks? 如果要把project1备份到d:\svnrootbak目录下,只需要运行: svnadmin hotcopy d:\svnroot\project1 d:\svnrootbak\project1 但是如果我们这个目录下有许多版本库,则需要为每个版本库写这样一条语句备份,为此我写了下面的脚本,实现备份一个目录下的所有版本库。 我们在D:\svnroot下创建了两个文件, simpleBackup.bat: ? @echo 正在备份版本库%1...... @%SVN_HOME%\bin\svnadmin hotcopy %1 %BACKUP_DIRECTORY%\%2 @echo 版本库%1成功备份到了%2!? 这个文件仅仅是对“svnadmin hotcopy”的包装,然后是 backup.bat: ? @echo off set SVN_HOME=C:\Program Files\VisualSVN Server//VisualSVN Server的安装路径 set SVN_ROOT=D:\svnroot//库根目录地址 set BACKUP_SVN_ROOT=D:\svnrootbak//要备份的地址 set BACKUP_DIRECTORY=%BACKUP_SVN_ROOT%\%date:~0,10% if exist %BACKUP_DIRECTORY% goto checkBack echo %BACKUP_DIRECTORY%%SVN_ROOT%/backup.log mkdir %BACKUP_DIRECTORY% for /r %SVN_ROOT% %%I in (.) do @if exist %%I\conf\svnserve.conf %SVN_ROOT%\simplebackup.bat %%~fI %%~nI goto end :checkBack @echo %BACKUP_DIRECTORY% goto end :end? 你在使用的时候,只需要修改backup.bat开头的三个路径,根据以上的配置,你只需要运行backup.bat,就可以把“SVN_ROOT”下的版本库都备份到“BACKUP_SVN_ROOT”里,并且存放在备份所在的目录里,例如“D:\svnrootbak\2006-10-22”。 虽然这部分工作很简单,可是必须有人定时地去执行这个操作(例如每周一凌晨),为了避免发生遗忘的情况,我们可以将这个操作加入到系统的at任务当中去,例如还是上面的环境,为了安装at任务,我们运行: at 11:30/every:F D:\svnroot\backup.bat这样在每周五晚上11:30都会执行这个备份过程。当然备份在本机也是不安全的,你也许需要上传到别的机器,这个就要靠你自己去实现了。 出现的问题: D:\svnrootbak\2006-10-22中是空的。 首先查看脚本,看看是不是路径写错了,经检查路径正确。然后运行命令,svnadmin hotcopy d:\svnroot\project1 d:\svnrootbak\project1发现命令不能运行,上网查原来是没设环境变量。 下面是设环境变量的步骤:右键我的电脑-属性,在系统属性

文档评论(0)

rpv75l07 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档