如何使用SVN hotcopy恢复存储库?

时间:2009-10-23 00:15:53

标签: svn repository recovery

好。我使用svn的hotcopy进行增量备份,现在我如何测试hotcopies是否正常工作?

我搜索了有关hotcopy的帖子。他们中的大多数似乎只是鼓励使用svn hotcopy,但没有谈论如何使用hotcopy进行恢复。

有没有关于如何使用我制作的hotcopy进行恢复的建议?

我还检查了http://svnbook.red-bean.com/,但实际上找不到任何东西。

感谢。

3 个答案:

答案 0 :(得分:15)

svnadmin hotcopy将始终创建存储库的完整副本。使用svnadmin hotcopy无法进行增量备份。

svnadmin hotcopy的工作方式类似于文件系统复制命令,但它永远不会复制打开的事务。

要恢复存储库,您只需将备份热门搜索到您要为其提供服务的位置。

要检查存储库的完整性,请使用 svnadmin verify

例如:

假设您的svn repos位于 / var / svn / repos ,并且您的备份存储在 / var / backups / svn 和您的存储库 my_project 坏了。

使用:

svnadmin hotcopy /var/svn/repos/my_project /var/backups/svn/

创建新备份(每天或每周执行此操作..)和:

svnadmin hotcopy /var/backups/svn/my_project /var/svn/repos/

恢复备份(注意:之前你必须删除你的repo,因为hotcopy不会覆盖旧的repo,你真的应该查找你的存储库失败的原因)。

也可以使用:

svnadmin verify /var/svn/repos/my_project

用于检查存储库的完整性

答案 1 :(得分:1)

您是否只是在寻找烟雾测试?只需指向任何客户端(直接在机器上,如果需要,使用file://协议)并执行一些检查 - 文件构成有效的仓库。 hotcopy只是为了确保您获得一致的副本(例如,在hotcopy期间发生的签名不会搞砸备份)。

答案 2 :(得分:0)

如果有人在寻找答案,这是恢复热拷贝的另一种方法。安装Visual SVN服务器:-

  1. 在左侧,右键单击存储库
  2. 选择导入现有存储库
  3. 在打开的对话框中,从另一个位置单击副本存储库
  4. 在下一个对话框中,选择您的源存储库,基本上是您的热拷贝
  5. 在下一个对话框中,粘贴您想要新存储库的位置。