长期的源代码存档:这可能吗?

我对保持源代码的可靠性和安全性好几年感到好奇。从我的研究/经验:

  1. 光学媒体,如刻录的DVD-R,随着时间的推移会丢失数据位。过了几年,我没能把我放进去的文件都拿出来。读取错误,等等。

  2. 硬盘驱动器是机械的,容易发生故障或过时,数据恢复费用昂贵,很难保护你的数据隐私(你把它发送给一些公司)。

  3. 磁带存储:参见#2。

  4. 在线存储受制于某些数据存储中心的突发奇想,那里的安全或缺乏安全,以及公司倒闭的可能性等等。再加上它很贵,而且你不能保证他们不会偷看。

随着时间的推移,我发现由于这些问题,我已经丢失了我所做的旧项目的源代码。还有其他的解决方案吗?

总结的答案:
1. 使用多种方法实现冗余。
2. 以文本或条形码的形式打印出源代码。
3.RAID阵列更适合于本地存储。
4. 开源会让你的项目永远持续下去。
5. 加密是安全的答案。
6. 磁带存储耐用。
7. 分布式/有保障的在线存储价格便宜、可靠。
8. 使用源代码控制来维护历史记录,并备份回购。

请先 登录 后评论

10 个回答

Chris Upchurch

您想要保存的任何数据都应该以多种格式存储在多个地方。虽然任何一个失败的几率都很大,但所有失败的几率都非常小。

请先 登录 后评论
Alex Fort

如果你想要长时间存档一些东西,我会选择磁带机。它们可能不能保存很多数据,但它们是可靠的,而且几乎是数据存档的首选存储介质。然而,我个人从未在磁带驱动器上经历过数据丢失。

请先 登录 后评论
deemer

根据你的偏执程度,我建议你买个打印机和保险箱。

更严重的是,RAID阵列不再那么昂贵,只要您继续使用和监视它,一个正确设置的阵列几乎可以保证永远不会丢失数据。

请先 登录 后评论
Frank Wiles

最好的答案是“在多个地方”。如果我关心尽可能长时间地保存我的源代码,我会这样做:

1)定期备份到一些光学媒体,比如一个月刻录成DVD,并在场外存档。

2)备份到我本地机器上的多个硬盘驱动器

3)备份到Amazon的S3服务。他们有保证,这是一个分布式系统,所以没有单点故障,你可以很容易地加密你的数据,这样他们就不能“偷看”它。

通过这三个步骤,您丢失数据的可能性实际上为零。对于非常重要的数据,没有太多的备份。

请先 登录 后评论
Vinko Vrsalovic

支持你的项目的最好方法是让它们开源并出名。这样的话,总会有人有一份副本,并能把它寄给你。

之后,只需处理磁/光媒体,继续更新它,并在多种媒体(包括,为什么不包括RAID集)上复制多个副本(也是在线的,记住您可以加密它)。

请先 登录 后评论
Jan Krüger

一种方法是定期回收你的存储介质,即从衰减的介质中读取数据并将其写入新的介质中。有一些程序可以帮助你,例如dvdisaster。最后,没有什么是永恒的。选择最不烦人的解决方案。

至于第2点:你可以以加密的形式存储数据,以防止数据恢复专家理解它。

请先 登录 后评论
Gilligan

我认为如果有写备份机制,选项2就足够好了。它们也不需要昂贵的第三方服务(灾难恢复除外)。配置了RAID 5的服务器就可以做到这一点。如果硬盘失效,请更换硬盘。所有的硬盘驱动器在同一时间发生故障是极不可能的。在某些情况下,甚至镜像RAID 1驱动器也足够了。

如果选项2看起来仍然是一个糟糕的解决方案,那么我唯一能想到的就是打印出源代码的硬拷贝,这比上面任何一个解决方案都有更多的问题。

请先 登录 后评论
Flint

在线存储受制于某些数据存储中心的突发奇想,那里的安全或缺乏安全,以及公司倒闭的可能性等等。另外,它很贵,

不一定昂贵(例如,参见rsync.net),也不安全。你当然也可以加密你的东西。

而且你不能保证他们没有偷看。

确实如此,但是可能还有比您的源代码更有趣的东西。: -)

更严重的是,RAID阵列不再那么昂贵了

RAID不是备份。

请先 登录 后评论
pjz

我所见过的最好的家庭使用的解决方案是使用2D条形码打印备份——数据密度相当高,可以相当容易地重新扫描(假设是单张扫描仪),它把问题从数字领域转移到物理领域——这是相当容易解决的东西,如保险箱或像铁山公司。

另一个答案是“以上所有”。冗余总是帮助。

请先 登录 后评论
Jordan Mack

在我的项目中,我使用1、2和4的组合。如果是非常重要的数据,你需要在多个地方有多个副本。我的重要数据每晚都被复制到3-4个地点。

如果你想要一个更简单的解决方案,我建议你从知名供应商那里获得一个在线存储帐户,该帐户有可靠的保险保证。如果你担心安全问题,只上传TrueCrypt加密档案中的数据。至于成本,可能会很贵。但如果它真的那么重要,成本就不算什么了。

请先 登录 后评论