有哪些方法可以备份 Windows VisualSVN 的存储库?

有哪些方法可以备份 Windows VisualSVN 的存储库?

目前我们正在使用 Visual SVN,并且正在备份 Visual SVN 的整个存储库目录。这会备份我们 SVN 引擎内每个存储库的全部数据。我想知道在紧急情况或灾难发生时我是否能够恢复这些文件?你们当中有人有这种恢复过程的经验吗?谢谢。

答案1

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

这指向以下文档:
http://www.visualsvn.com/support/svnbook/reposadmin/maint/#svn.reposadmin.maint.backup

它描述了如何使用 Subversion 命令进行备份。我希望您已经这样做了,因为直接进行目录备份可能会导致存储库不可用。

您应该能够使用 Subversion 的备份并使用svnadmin dumpsvnadmin hotcopy命令恢复完整存储库。但是,与任何备份策略一样,您必须自己测试恢复以确保它适合您。

答案2

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

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

如果你需要一次性备份,可以使用 备份-SvnRepositoryPowerShell cmdlet。要恢复存储库,请使用恢复-SvnRepository。这些备份 cmdlet 从 3.6 版开始可用。

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

在此处输入图片描述


以下是过时的答案。

有多种方法可以备份 VisualSVN Server 存储库。请查看下面的简短描述。

1.svnadmin hotcopy工具

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

您可以阅读 SVN 书中的以下文章来了解有关 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.Windows 服务器备份。您可以使用 Windows Server Backup 备份 Subversion 存储库。它允许您将备份安排到网络共享、专用备份卷、可写媒体。例如,wbadmin命令行工具允许您安全地备份存储库。这个简单的命令执行一次性复制备份C:\foo\barX:\卷:

wbadmin start backup –backupTarget:x: -include:c\foo\bar -vsscopy

(要安装 Windows Server Backup,请ocsetup WindowsServerBackup在提升的命令提示符下运行)。

您可以通过不同的方式设置备份:

运行备份时不需要停止服务器的服务,因为FSFS 存储库后端是始终保持一致状态

以下是有关恢复 Windows Server 备份的一般提示:

  1. 将备份恢复到空目录,以确保恢复的存储库文件不会与损坏的存储库文件混合。存储库恢复后,您可以删除损坏的存储库,然后用恢复的存储库替换它。

  2. 从备份恢复存储库后停止-启动循环服务器。

  3. 如果您的客户端在存储库恢复后出现错误,请运行svnadmin recover反对它。该命令立即完成并再次使存储库可访问。


除了存储库之外,您还应该备份以下信息:

  1. 存储在存储库根目录中的身份验证和授权文件 ('C:\Repositories'默认情况下)。根据您的设置,应该有以下文件:‘授权’‘authz-windows’‘htpasswd’

  2. “%VISUALSVN_SERVER%\certs”文件夹,其中存储了有关您的 SSL 证书的信息。

  3. “%VISUALSVN_SERVER%\conf”文件夹,存储了您的 VisualSVN Server 的配置文件。

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

答案3

我这样做:

svnadmin dump "c:/Repositories/svnroot" > c:/backup/svnroot_%date%.dump

您也可以将其压缩/压缩以节省空间。当我将 SVN 从 Linux 移至 VisualSVN 时,我也使用了相同的方法,因此此备份可以正常工作。

答案4

另一个选择是热拷贝。它会备份您的整个存储库。占用更多磁盘空间,但运行起来非常容易,而且使用它恢复存储库也非常容易。

相关内容