【问题标题】:backup svn to another svn repository将 svn 备份到另一个 svn 存储库
【发布时间】:2011-11-07 10:57:09
【问题描述】:

我目前在一台服务器上使用一个 svn 存储库,但为了使其更安全。我在另一台服务器上设置了另一个 svn 存储库,如何将我的辅助服务器上的 svn 与我的主服务器上的 svn 中的信息进行镜像?

【问题讨论】:

  • 您使用 FSFS 存储(默认)还是 BDB?如果是 BDB,您需要小心移动文件。
  • 你想达到什么目的?文件的备份或 svn 存储库的镜像?

标签: svn backup


【解决方案1】:

您可以使用来自 SVN 本身的svnsync,它能够复制到其他服务器,但请注意复制的存储库是只读的。最好的办法是通过 post-commit-hook 脚本将每个提交复制到备份服务器上。

【讨论】:

  • 不是一个大问题:我会说备份通常是只读的。恕我直言,svnsync 是正确的工具。
【解决方案2】:

您是否考虑将第二个副本存储在转储中?在我看来,这是对 svn 存储库进行保存备份的最佳方式。

windows下可以使用如下命令:

svnadmin dump YourRepositoryPath > YourBackupName.svn

在linux下可以使用如下命令:

svnadmin dump YourRepositoryPath | gzip > YourBackupName.svn.gz

也许不会直接回答您的问题,但可能是对问题的不同解决方案的想法。

最好, 步骤

【讨论】:

  • 另一个虚拟解决方案是拥有 2 个存储库。并且您可以创建您的 commit.sh 脚本,该脚本将自动提交到 2 个不同的存储库中。但我相信你会坚持这一点......
【解决方案3】:

如果您对商业解决方案持开放态度,Subversion Clustering 会使其保持同步并允许在集群中的所有节点上进行读写。这也适用于 WAN。

【讨论】:

    【解决方案4】:

    您可以考虑使用svk,尽管它不再积极开发。

    【讨论】:

    • SVK 不用于备份目的。就像 Git 或 Bazaar。它旨在离线工作。
    • 鉴于 OP 想要镜像他们的主存储库,我想说 SVK 比他们迄今为止得到的任何答案都更符合要求。据我所知,所有其他建议都需要定期执行任务。
    猜你喜欢
    • 1970-01-01
    • 2010-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-26
    • 2011-01-19
    • 1970-01-01
    • 2015-10-13
    相关资源
    最近更新 更多