2009-09-18 115 views
2

是否有人将他们的Repositories文件夹存储在备份的网络驱动器上?是否有任何人有这个问题,而不是说让它保存在运行Subversion的C驱动器的主机服务器上?在网络驱动器上存储Svn Repositories文件夹

我们基本上想把我们的repo放在另一个网络驱动器上(与运行VisualSVN Server的服务器不同),并让VisualSVN Server从一个完全不同的机器上读取存储库。

我们会备份每隔5分钟指向VisualSVN服务器的位置,以便在发生故障时随时备份SVN存储库文件夹。然后,我们很可能不必担心将来自开发人员的任何最新更改合并回陈旧/过时的回购编号,因为我们经常对其进行备份。

回答

4

颠覆常见问题有a discussion on storing repositories on NFS;基本上,在这种情况下,您必须使用fsfs后端。对于存储库的热备份,使用fsfs也是必需的;对于bsdfs,你需要hot-backup.py(或者svnadmin hotcopy)。使用常规备份程序时,可能会发生“当前”文件指向备份时尚未完全复制的修订版。 “svnadmin recover”可以解决这个问题,如果你必须在发生这种情况时恢复备份(或者在任何修订文件之前确保“当前”是备份的)。

+0

我没有进行热备份。当我简单地备份整个存储库时,我不认为需要这样做,这对我来说很好。只需备份和替换,如果你需要恢复到以前的时间或任何其他。 – PositiveGuy 2009-09-28 13:36:05

+0

@coffeeaddict:定期备份可能会保存不一致的存储库,以便在还原时发现您的存储库已损坏。如果在备份运行的同时正在进行提交,并且两个进程都以不幸的方式访问相同文件,则可能会发生这种情况。 – 2009-09-28 15:15:05

+0

看起来像是使用FSFS,我很喜欢简单地备份整个Repositories文件夹。 – PositiveGuy 2009-09-28 15:35:39

0

我把我的回购定期备份的web服务器上,并使用mod-svn for apache。

1

希望你使用的东西其他比file://协议!

如果备份在非工作时间发生,一般情况下应该可以。

查看SVN书中的Repository Backup主题。

0

要小心,除非svnserver已经停止,否则存储库的一个简单朴素的副本不能保证给你一个有效的备份。每隔5分钟停止一次服务器备份可能会很麻烦。

确保您使用svnadmin hotcopy,而不仅仅是SAN快照或复制命令。

此外,您可以在post commit钩子中运行脚本,以在事情发生实际变化时执行备份。

0

我们在某个时候设置了这样的存储库,但是将存储库移至服务器,在备份服务器之前,我们执行转储并备份转储文件。我们使用转储,因为文件格式将始终受支持,并且存储库可以从无恢复,其中hotcopy取决于存储库结构相同。

+0

如果您在Windows操作系统上使用像Veritas这样的备份程序来备份Repository文件夹,我不明白为什么您必须使用转储。 – PositiveGuy 2009-09-28 13:38:33

+0

我们没有运行veritas,由于我们使用Apache和SVN来允许进行域身份验证,如果我们在不关闭Apache/SVN的情况下备份存储库,我们会遇到磁盘损坏的问题。为了防止停机,我们使用了dump,并且我们在服务器上保留了数周的备份。 – 2009-09-28 14:30:11

相关问题