VisualSVN 服务器仓库备份/恢复

9

我有一个安装有VisualSVN Server的Windows Server 2008用于托管代码库。在客户端电脑上我使用TortoiseSVN进行代码管理。

如何备份服务器上的代码库并进行恢复?

2个回答

13

http://www.visualsvn.com/support/topic/00012/


您可以使用 svnadmin hotcopy 命令备份您的存储库。更多详情请参阅 Subversion文档

请注意,所有其他与VisualSVN Server相关的数据(例如用户权限设置)都存储在您的存储库最顶层文件夹下(默认情况下为C:\ Repositories)。您应该单独备份它们。


仅保存数据(不包括钩子、配置等),请使用svnadmin dump。您甚至可以增量使用它。

自Subversion 1.7以来,您可以通过svnrdump远程运行svn dump。

根据您的备份容量,您可以选择始终进行热备份,或者偶尔进行热备份,经常完成完整的svn dump,以及每晚的增量svn dump等。


顺便问一下,我在想为什么不能手动递归目录复制。我在这个答案中找到了原因。 - Stefan Monov
文章http://www.visualsvn.com/support/topic/00012/已更新,以涵盖VisualSVN Server 3.6中引入的内置备份和还原功能。请参阅内置备份和还原特性。 - bahrep

9

自VisualSVN Server 3.6版本开始,服务器包含一个内置定期存储库备份和还原功能。此外,3.6版本添加了计划验证Subversion存储库的功能。

为Subversion存储库设置定期备份和验证只需要几分钟时间。有关逐步说明,请参见文章KB106:备份与恢复入门

如果您正在寻找一次性备份,可以使用{{link3:Backup-SvnRepository}} PowerShell cmdlet。要恢复存储库,请使用{{link4:Restore-SvnRepository}}。

主下载页面下载VisualSVN Server的最新版本。

enter image description here


还有其他几种备份VisualSVN Server存储库的方法。请查看下面的简短描述。

1. svnadmin hotcopy 工具

svnadmin hotcopy 允许您安全地复制存储库,无论其他进程是否正在使用该存储库。您可以编写一个自定义脚本,定期为您的存储库进行备份。

您可以考虑阅读SVNBook上的以下文章,以了解更多关于Subversion存储库备份的信息:http://www.visualsvn.com/support/svnbook/reposadmin/maint/#svn.reposadmin.maint.backup

2. svnsync 工具

这是增量备份方法。增量备份方法仅备份自上次备份以来发生更改的存储库数据部分。您可以设置此工具作为“主”和“从”,自动复制其存储库中的任何提交。

请参阅“svnsync”文章以获取更多详情:http://www.visualsvn.com/support/svnbook/ref/svnsync/ 3. Volume Shadow Copy备份 使用Volume Shadow Copy可以备份VisualSVN Server及其相关配置。
尽管在某人提交到Subversion仓库时进行Volume Shadow Copy可能存在问题,但是仓库的最后一次修订可能会损坏。不过,可以使用svnadmin recover命令轻松恢复。
除了仓库外,您应该备份以下信息:
  1. 身份验证和授权文件存储在仓库根目录下(默认为“C:\Repositories”)。根据您的设置,应该有以下文件:'authz''authz-windows''htpasswd'

  2. %VISUALSVN_SERVER%\certs\文件夹中存储有关SSL证书的信息。

  3. %VISUALSVN_SERVER%\conf\文件夹中存储了VisualSVN Server的配置文件。

  4. HKEY_LOCAL_MACHINE\SOFTWARE\VisualSVN\VisualSVN Server\注册表键存储服务器配置的其他部分。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接