我很好奇如何可靠、安全地保存源代码数年。根据我的研究/经验:

  1. 光学介质,例如刻录的 DVD-R,随着时间的推移会丢失数据位。几年后,我并没有把放在上面的所有文件都取掉。读取错误等

  2. 硬盘驱动器是机械驱动器,容易出现故障/过时,并产生昂贵的数据恢复费用,几乎无法保护您的数据的私密性(您将其发送给某些公司)。

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

  4. 在线存储会受到某些数据存储中心的突发奇想、那里的安全性或缺乏安全性以及公司倒闭的可能性等因素的影响。而且价格昂贵,而且你不能保证他们不会偷看。

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

答案摘要:
1.使用多种方法进行冗余。
2.以文本或条形码形式打印源代码。
3.RAID 阵列更适合本地存储。
4.开源您的项目将使其永远持续下去。
5.加密是安全的答案。
6.磁带存储经久耐用。
7.分布式/有保证的在线存储便宜且可靠。
8.使用源代码控制来维护历史记录并备份存储库。

有帮助吗?

解决方案

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

1) 定期备份到某些光学介质,例如每月一次刻录到 DVD 并异地存档。

2)将其备份到本地计算机上的多个硬盘驱动器

3) 将其备份到Amazon 的S3 服务。他们有保证,这是一个分布式系统,因此没有单点故障,您可以轻松加密您的数据,这样他们就无法“偷看”它。

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

其他提示

根据您的偏执程度,我会推荐一台打印机和一个保险箱。

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

您想要保留的任何数据都应该以多种格式存储在多个位置。虽然其中任何一个失败的可能性可能很大,但所有这些都失败的可能性却很小。

我想您会对当今在线存储的价格如此合理感到惊讶。Amazon S3(简单存储解决方案)的价格为每月每 GB 0.10 美元,上传费用为每 GB 0.10 美元,下载费用最高为每 GB 0.17 美元。

因此,如果您一个月存储 20GB、上传 20GB 并下载 20GB,则需要花费 8.40 美元(欧洲数据中心的价格略高,为 9 美元)。

这足够便宜,可以将您的数据存储在美国和欧盟的数据中心以及 DVD 上 - 至少可以说,丢失这三个数据的可能性很小。

还有可用的前端,例如 JungleDisk。

http://aws.amazon.com
http://www.jungledisk.com/
http://www.google.co.uk/search?q=amazon%20s3%20clients

备份项目的最佳方法是让它们开源并出名。这样总会有人拥有它的副本并能够将其发送给您。

之后,只需处理磁/光介质,持续更新它并在多个介质(包括,为什么不,RAID 集)上进行多个副本(也可以在线,记住您可以对其进行加密)

如果您想长期存档某些内容,我会选择磁带驱动器。它们可能容量不大,但它们很可靠,并且几乎是数据归档的首选存储介质。然而,我个人从未经历过磁带驱动器上的数据丢失。

不要忘记使用 Subversion (http://subversion.tigris.org/)。我颠覆了我的整个生活(太棒了)。

我见过的最好的家庭可用解决方案是使用二维条形码打印备份 - 数据密度相当高,可以相当容易地重新扫描(假设是馈纸扫描仪),并且它解决了问题数字领域回到物理领域——保险箱或像铁山这样的公司很容易满足这一点。

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

对于我的项目,我使用 1、2 和 4 的组合。如果它确实很重要,那么您需要在多个地方拥有多个副本。我的重要数据每晚都会复制到 3-4 个位置。

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

对于监管机构强制要求的电子数据归档,我们将数据保存在两个不同位置的 RAID 和备份磁带上(其中之一是 Iron Mountain)。我们还每隔几年更换一次磁带和 RAID。

如果您需要“永远”保留它,最安全的方法可能是打印出代码并将其粘贴在塑料信封中,以确保其免受恶劣天气的影响。我无法告诉你我因备份而丢失了多少代码,这些代码无法再访问......我没有纸卡读卡器来读取我的旧 cobol 卡座,没有用于 5 1/4" 软盘或 3 1/2" 软盘的驱动器。但我为我的第一个大项目制作的打印件仍然可读......即使在我三岁的孩子决定它会成为一本很好的涂色书之后。

当您说“备份源代码”时,我希望您的意思也包括版本控制系统的备份。

备份当前的源代码(到多个位置)绝对至关重要,但在我看来,备份 VCS 保存的更改历史记录至关重要。这似乎微不足道,尤其是当我们总是“活在当下,展望未来”时。然而,有太多次我们想要回顾过去调查一个问题,审查变更链,看看谁做了什么,我们是否可以回滚到以前的构建/版本。如果您练习大量分支和合并,这一点就更重要了。归档单个主干 不行.

您的版本控制系统可能附带有关备份策略的文档和建议。

一种方法是定期回收您的存储介质,即从腐烂的介质中读取数据并将其写入新的介质中。有一些程序可以帮助您完成此操作,例如 DVD灾难. 。最终,没有什么是永恒的。只需选择最不烦人的解决方案即可。

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

我认为如果您有适当的写备份机制,选项 2 就足够好了。它们也不必是涉及第三方的昂贵的(灾难恢复除外)。配置 RAID 5 的服务器就可以解决这个问题。如果硬盘出现故障,请更换它。所有硬盘同时发生故障的可能性极小。在某些情况下,即使是镜像 RAID 1 驱动器也足够了。

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

在线存储会受到某些数据存储中心的突发奇想、那里的安全性或缺乏安全性以及公司倒闭的可能性等因素的影响。再加上价格昂贵,

不一定很贵(参见 同步网 例如),也不是不安全。您当然也可以加密您的东西。

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

确实如此,但可能还有比源代码更有趣的东西值得一看。;-)

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

RAID 是 不是 备份。

我刚刚和一个微电影专家谈话。虽然它是一项古老的技术,但对于长期存储来说,如果维护得当,它是最持久的数据存储形式之一。它不需要复杂的设备(放大镜和灯)来阅读,但存储可能需要一些工作。

话又说回来,正如前面提到的,如果您只谈论几年而不是几十年,那么将其打印到纸上并将其存储在受控环境中可能是最好的方法。如果你想真正发挥创意,你可以层压每张纸!

Drobo 用于本地备份

用于短期本地存档的 DVD

Amazon S3 用于异地长期归档

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top