将SVN备份到另一个SVN仓库

4

我目前在一个服务器上使用一个svn仓库,但为了使其更加容错。我在另一台服务器上设置了另一个svn仓库,请问如何将我的次要服务器上的svn与主服务器上的svn镜像同步?


你使用FSFS存储(默认)还是BDB?如果是BDB,移动文件时需要小心。 - Rup
你想要实现什么?文件的备份还是svn仓库的镜像? - MADMap
4个回答

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

不是什么大问题:我认为备份通常是只读的。在我看来,svnsync 是正确的工具。 - Álvaro González

2

你考虑过把第二份副本存储在转储区吗?在我看来,这是最好的方法,可以安全备份您的svn仓库。

在Windows下,您可以使用以下命令:

svnadmin dump YourRepositoryPath > YourBackupName.svn

在Linux下,您可以使用以下命令:
svnadmin dump YourRepositoryPath | gzip > YourBackupName.svn.gz

也许不能直接回答您的问题,但也许可以为解决问题提供不同的思路。
祝好,
Ste

另一个可行的解决方案是拥有2个存储库。您可以创建commit.sh脚本,该脚本将自动提交到2个不同的存储库。但我相信您已经考虑过这一点了... - Stefano

1

如果您愿意考虑商业解决方案,Subversion Clustering 可以保持同步,并允许在集群中的所有节点进行读写。这也适用于广域网。


0
你可以考虑使用svk,尽管它已经不再得到积极的开发。

SVK不适用于备份目的。它类似于Git或Bazaar。它旨在离线工作。 - khmarbaise
考虑到 OP 想要镜像他们的主仓库,我想 SVK 比他们迄今得到的任何答案都更合适。据我所知,所有其他建议都需要定期执行任务。 - Nicola Musatti

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