我有一个安装有VisualSVN Server的Windows Server 2008用于托管代码库。在客户端电脑上我使用TortoiseSVN进行代码管理。
如何备份服务器上的代码库并进行恢复?
我有一个安装有VisualSVN Server的Windows Server 2008用于托管代码库。在客户端电脑上我使用TortoiseSVN进行代码管理。
如何备份服务器上的代码库并进行恢复?
从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等。
自VisualSVN Server 3.6版本开始,服务器包含一个内置定期存储库备份和还原功能。此外,3.6版本添加了计划验证Subversion存储库的功能。
为Subversion存储库设置定期备份和验证只需要几分钟时间。有关逐步说明,请参见文章KB106:备份与恢复入门。
如果您正在寻找一次性备份,可以使用{{link3:Backup-SvnRepository}} PowerShell cmdlet。要恢复存储库,请使用{{link4:Restore-SvnRepository}}。
从主下载页面下载VisualSVN Server的最新版本。
还有其他几种备份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及其相关配置。svnadmin recover
命令轻松恢复。身份验证和授权文件存储在仓库根目录下(默认为“C:\Repositories”)。根据您的设置,应该有以下文件:'authz'、'authz-windows'和'htpasswd'。
%VISUALSVN_SERVER%\certs\
文件夹中存储有关SSL证书的信息。
%VISUALSVN_SERVER%\conf\
文件夹中存储了VisualSVN Server的配置文件。
HKEY_LOCAL_MACHINE\SOFTWARE\VisualSVN\VisualSVN Server\
注册表键存储服务器配置的其他部分。