将存储库目录复制到另一个服务器

时间:2010-10-11 04:10:50

标签: svn

CentOS 5.3

我有一个名为repos的目录。在该目录中,我有存储库和存储库的子目录。总共有30多个存储库。

我们现在将我们的存储库移动到另一台服务器。我只是想知道复制所有存储库的最佳方法是什么。

我看过svnadmin dump和hotcopy。但是,我想以递归方式复制所有存储库。我不确定dump和hotcopy是否允许您复制所有目录。

我可以使用hotcopy。但是,如果我不得不一次做一件,那就永远需要这样做。

只做一个普通的文件副本即scp -r source dest

是否安全

非常感谢任何建议,

3 个答案:

答案 0 :(得分:1)

是的,你可以很好地从源到目的地做一个scp。您可能只需要在启动svn时进行适当的配置/命令行更改。

答案 1 :(得分:1)

  

我可以使用hotcopy。但是,如果我不得不一次做一件,那就永远需要这样做。

您可以尝试使用bash脚本:

for d in /srv/svnroot/* ; do svnadmin dump $d | ssh targetserver svnadmin load $d ; done

/srv/svnroot是您的目录,其中包含svn存储库,targetserver是您的新服务器。

我不会真正推荐scp,它只适用于FSFS存储库,您必须确保 nobody 可以在复制时访问它们。

答案 2 :(得分:0)

我找到了另一种方式。

哪个使用rsync。这就是我做的,它运作正常。

rsync -rcaz -e ssh source@xx.xx.xx.xx:/svn_repos dest@xx.xx.xx.xx:/svn_repos