备份CVS仓库的最佳实践是什么?

4
一些我们的项目仍在cvs上。我们目前使用tar每晚备份存储库。
问题是: 备份cvs存储库的最佳实践是什么?
背景:我们将全国的若干台服务器合并到一个中央服务器上。组合后的存储库大小为14GB(是的,这很高,很可能是由于许多二进制文件、许多分支和存储库的年龄导致的)。
直接对cvs存储库进行tar备份会生成一个约5GB的.tar.gz文件。从5GB的tar文件中恢复文件将会很不方便。另外,我们快速地用尽了磁带。
全量加增量备份方法的效果如何,例如:每周一次全量备份,每晚增量备份?有哪些开源工具能够很好地解决此问题?(例如Amanda、Bacula)
谢谢, 比尔
2个回答

6
如果你不需要备份历史记录,可以使用rsync在另一台机器上创建仓库的备份副本。rsync以增量模式工作,因此带宽只会用于发送更改的文件。
我认为你不需要完整的备份历史记录,因为VCS提供了自己的历史管理,而你只需要备份作为故障保护措施。
此外,如果你担心备份仓库的一致状态,你可能想要使用文件系统快照,例如LVM可以在Linux上生成它们。据我所知,来自Solaris的ZFS也具有快照功能。
只有当你在夜间深度运行备份程序时,没有人接触你的仓库并且你的VCS守护程序在备份期间停止,你才不需要快照。

+1 for rsync,我通常与ZFS(在rsync目标上)结合使用来备份所有文件。无论是版本化的文件系统还是非版本化的,我建议在同步运行时确保没有任何东西正在访问存储库。 - Hanno Fietz
CVS仓库是否可能以某种方式损坏?如果是,rsync会将损坏的文件复制到备份中吗? - AnnanFay
当然是可能的。rsync并不知道文件内容,它只是同步文件树。 - darkk

2
正如Darkk所提到的,rsync非常适合备份,因为只有更改过的内容才会被复制。Dirvish是一个基于rsync的不错的备份系统。备份速度快,恢复也非常简单,因为你只需要复制文件即可。备份的多个版本也可以高效地存储。

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