2009-10-23 101 views
4

好的。我用svn的hotcopy来做增量备份,现在我该如何测试hotcopies能正常工作?如何使用SVN hotcopy恢复存储库?

我在这里搜索了关于hotcopy的帖子。他们中的大多数似乎只是鼓励使用svn hotcopy,而不是谈论如何使用hotcopy恢复一次。

有没有关于如何使用我所做的hotcopy恢复的任何建议?

我也检查了​​,但找不到任何东西。

谢谢。

+0

的,我认为这属于上http://serverfault.com/完整性。 – 2009-10-23 00:38:03

回答

11

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

svnadmin hotcopy的工作方式与文件系统复制命令类似,但它永远不会复制未完成的事务。

要恢复存储库,您可以将备份复制到您想要为其提供服务的位置。

用于检查仓库使用的svnadmin完整性验证

如:

假设你的svn回购都在的/ var/SVN /回购和您的备份存储在的/ var /备份/ svn和您的存储库my_project已损坏。

用途:

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

创建一个新的备份(这个每天或每周做..)和:

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

恢复备份(注:你必须删除你的回购之前,因为hotcopy不会覆盖旧的回购,所以确实应该查找存储库故障的原因)。

还可以使用:

svnadmin verify /var/svn/repos/my_project 

检查你的资料库

+0

使用svnadmin hotcopy复制副本后,可以使用svnsync使其保持最新状态。在post-commit-hook中调用svnsync,并在每次提交后立即进行备份。 – 2013-04-06 01:49:45

1

你只是想找个烟测试吗?只要指出任何客户端(直接在机器上,如果需要,使用file://协议)并执行一些签出操作,这些文件就构成了有效的回购协议。 hotcopy只是为了确保你得到一致的副本(例如,在hotcopy期间发生的checkin不要搞乱备份)。