使用 SVN 作为备份解决方案...有些疑问

使用 SVN 作为备份解决方案...有些疑问

我正在开始一个新话题(继续这个话题运行 Linux 和 Windows 的机器的备份根据 Mike Renfro 的建议,我和 voretaq7 都对此表示感谢)。

思考我打算将 SVN 用作我的主目录(比如照片、编程源文件、文档等)的备份解决方案和同步解决方案(两者兼而有之)。如果我把所有东西放在一起,我思考它将变成大约 300GB,也许 500GB 用于未来的开发(可能每个都有不同的存储库/子文件夹)。

文件数量可能非常大(100,000 或类似的数字)。我也考虑过使用 rsync,但我觉得它更多的是同步而不是备份(我错了吗?)。

我必须同步运行 Windows 和 Linux 的机器,从上网本到大型台式机,...(存储库将放在我的家庭服务器上,同步它就可以在我拥有的每台机器上保留文件的副本)。

以下是我的疑问/问题:

  • SVN 能否处理所有这些(嗯……第一次签出可能需要一个月左右的时间,但无论如何……)?我的意思是平均大小的文件(最多 200MB,不打算做更多,我不打算使用 SVN 备份电影或任何如此大的文件)。存储库中的文件数量可能太多了?替代方案?
  • 如果我移动/重命名本地存储库中的文件,然后提交,会发生什么?文件被复制(旧名称和新名称),创建链接?如果我在另一台机器上签出会发生什么?我会得到同一个文件的两个副本吗?我应该在本地存储库上使用“svn move”吗?操作系统的“move”命令是否有效?
  • 与删除/已删除文件有同样的问题吗?

我也愿意接受其他选择,可能提供版本控制、同步和备份功能。

答案1

读了你的原始帖子和现在的这个帖子,嗯,听起来你真的把事情复杂化了,而不是像其他人建议的那样使用经过验证的备份技术。具体来说:

  • 按照预期使用工具:SVN 用于源文件的版本控制,rsync/amanda/bacula/whatever 用于备份,并设置合理的备份窗口(5 分钟是不会发生的),比如 12 小时,甚至更好的 24 小时。

  • 将您最重要的文件备份到可移动的地方,比如可以在紧急情况下使用的 USB 驱动器,或者更好的是,将其备份到异地 DropBox 帐户中(这些文件占用的磁盘空间通常比电影、软件 ISO、音乐等大二进制文件要小得多,这些文件通常可以在以后再次替换/下载)。

  • 使用网络驱动器(重定向我的文档、从 Windows 设置映射驱动器以及从 Linux 计算机安装 Samba)并将数据存储在至少配置了 RAID1 的新 Linux 文件服务器上。将资金投入到优质的 Intel GbE NIC 和合适的 GbE 交换机中,您将不会注意到通过网络工作与本地工作相比存在任何不良影响(并且通过 RAID1 磁盘镜像,您可以实现所需的实时同步)。

这基本上是“文件服务器/备份 101”,但适用于无数 SOHO/小型企业的方法也应该适合您。

答案2

  1. 嗯,这是最难的。我的第一反应是不要使用 svn,因为它太耗时间了。它维护着自己的目录结构“.svn”,因此我发现处理许多小文件很麻烦。在提到的范围内没有一个,最多只有几百或几千个。但我仍然认为它在更高的范围内不会更好……

但是没有使用实时 rsync 的经验,所以无法评论。但从我读过的和听到的来看,这是一个更好的主意。

但是,您试图解决的确切问题是什么?您似乎试图使用一种最佳工具来解决几个问题。您的帖子暗示您更喜欢版本控制,但主要对同步和备份感兴趣。我在这里猜测(思维建模?:-P),但我认为您需要将两者结合起来以达到不同的目的。

  1. 您应该使用 svn move。OS 移动命令不会反映在存储库信息中,并且 svn 不会记录/跟踪它。http://svnbook.red-bean.com/en/1.1/re18.html
  2. http://svnbook.red-bean.com/en/1.1/re08.html

相关内容