AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 20514
Accepted
Geo
Geo
Asked: 2009-06-06 06:23:29 +0800 CST2009-06-06 06:23:29 +0800 CST 2009-06-06 06:23:29 +0800 CST

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

  • 772

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

windows backup windows-server-2003 svn visualsvn-server
  • 7 7 个回答
  • 31239 Views

7 个回答

  • Voted
  1. Best Answer
    DCNYAM
    2009-06-06T08:18:29+08:002009-06-06T08:18:29+08:00

    请参阅: http: //www.visualsvn.com/support/topic/00012/

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

    它描述了使用 Subversion 命令进行备份。我希望这是您已经在做的事情,因为直接备份目录可能会导致存储库无法使用。

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

    • 11
  2. bahrep
    2012-07-14T04:38:11+08:002012-07-14T04:38:11+08:00

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

    为您的 Subversion 存储库设置计划的存储库备份和验证只需几分钟。有关分步说明,请参阅文章KB106:备份和还原入门。

    如果您要查找一次性备份,可以使用 Backup-SvnRepository PowerShell cmdlet。要恢复存储库,请使用Restore-SvnRepository。这些备份 cmdlet 从版本 3.6 开始可用。

    从主下载页面下载最新版本的 VisualSVN 服务器。

    在此处输入图像描述


    有几种方法可以备份 VisualSVN 服务器存储库。检查下面的简短描述。

    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\bar这个简单的命令执行到X:\卷的一次性复制备份:

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

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

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

    • wbadmin命令行工具,
    • PowerShell cmdlet,适用于备份操作的自动化和自定义,
    • Windows Server Backup 向导(实际上是控制面板)MMC 管理单元。

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

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

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

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

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


    除存储库外,您应备份以下信息:

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

    2. "%VISUALSVN_SERVER%\certs\" 文件夹,用于存储有关您的 SSL 证书的信息。

    3. "%VISUALSVN_SERVER%\conf\" 文件夹,存储 VisualSVN 服务器的配置文件。

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

    • 9
  3. Alex
    2010-02-22T23:24:38+08:002010-02-22T23:24:38+08:00

    我这样做是:

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

    您也可以对其进行 rar/zip 压缩以节省空间。当我将 SVN 从 Linux 移动到 VisualSVN 时,我使用了相同的方法,所以这个备份可以正常工作。

    • 5
  4. gbjbaanb
    2009-06-24T10:33:30+08:002009-06-24T10:33:30+08:00

    备份 SVN 存储库的最简单和最好的方法是使用svnsync。它是一个增量工具,可以重放对备份存储库的任何提交。它很容易上手——请参阅这篇博文——而且它的速度很快,因为它只发送更改。您将必须设置一个 post-rev-prop-change 挂钩来捕捉有人更新历史 revprop 的“边缘情况”,否则您可以每小时运行一次(就像我一样)以持续保持备份。如果您对数据备份真的很偏执,您甚至可以在 post-commit 挂钩中运行它!

    如果您的实时存储库死了,那么您可以“svn relocate”到备份存储库,直到您的实时存储库再次运行(但是,如果您在实时存储库关闭时将任何内容写入备份,请小心,除非您运行 svnsync 来获取那些应用于实时存储库的更改,当您考虑它时,这一点非常明显)。

    因此,您有连续的备份,并且使用它以最少的资源使用量以秒为单位测量停机时间。备份没有比这更好的了!

    • 3
  5. swolff1978
    2009-12-08T09:52:14+08:002009-12-08T09:52:14+08:00

    另一种选择是hotcopy。它会备份您的整个存储库。占用更多磁盘空间,但很容易运行,也很容易使用它来恢复存储库。

    • 3
  6. Tim Long
    2009-06-14T18:43:29+08:002009-06-14T18:43:29+08:00

    VisualSVN 是一个 Windows 产品,因此它将在 Windows 上运行。如果备份实用程序能够使用卷影复制进行备份,那么应该会生成内部一致的备份。内置的 NTBACKUP 或第三方软件(如 Symantec Backup Exec)或内置于 Windows Server 2008 中的基于磁盘的备份工具都能够使用卷影复制。

    • 2
  7. JDizzle
    2014-02-05T15:56:23+08:002014-02-05T15:56:23+08:00

    对于那些只想在 Windows 系统上默认安装的 Visual SVN 中备份所有存储库的用户

    我使用以下 cmd 脚本 - 它将存储库根目录的所有子文件夹转储到备份路径并7 压缩它们。

    @echo off
    set svnAdminPath="C:\Program Files (x86)\VisualSVN Server\bin"
    set sevenZipPath="C:\Program Files\7-Zip"
    set repositoryRoot=d:\Repositories
    set backupPath=c:\Source\Backup\SVN
    set dateStamp=%DATE:~-4%-%DATE:~4,2%-%DATE:~7,2%
    
    for /f %%f in ('dir /b /AD %%repositoryRoot%%') do ( 
    call:dumpRepository %%f 
    call:zipLastDump
    )
    goto:eof
    
    :dumpRepository
    cd /d %svnAdminPath%
    set repoPath=%repositoryRoot%/%~1
    set dumpFile=%~1_%dateStamp%
    echo.-------------------
    echo.Dumping %~1 to %dumpFile%.dump
    echo.-------------------
    svnadmin dump "%repoPath%" > "%backupPath%\%dumpFile%.dump"
    exit /b
    
    :zipLastDump
    cd /d %sevenZipPath%
    set zipFile="%backupPath%\%dumpFile%.7z"
    echo.-------------------
    echo.Zipping %dumpFile%.dump to %zipFile%
    echo.-------------------
    7z a "%zipFile%" "%backupPath%\%dumpFile%.dump" 
    del "%backupPath%\%dumpFile%.dump" 
    exit /b
    
    • 0

相关问题

  • 在 Windows Server 2003 下使用 wscipt 从 .asp 文件运行 .exe

  • 最佳混合环境(OS X + Windows)备份?[关闭]

  • 如何从 SQL Server 2008 中的备份中排除索引

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve