因此,我运行了一个备份系统,该系统基本上使用 encfs 将所有文件存储在 Dropbox 中。(此外,我每晚都会将整个 Dropbox 文件夹 rsync 到 Amazon S3)。我对该解决方案非常满意,但我担心数据损坏。
我在大约 5 台机器上运行 Dropbox(其中 2 台并非一直在线)。虽然这对于拥有文件的多个副本很有用,但它也引入了多个故障点。如果任何硬盘驱动器因某种原因损坏了文件,Dropbox 会很乐意在所有机器上同步现在已损坏的文件。由于有很多文件我不经常使用,所以我可能在相当长的一段时间内都不会注意到。
所以我的问题是:你知道如何防止这种情况发生吗?当发生某事时会注意到吗?
我正在考虑将数据库中所有文件的哈希值保存为当前状态(假设所有文件现在都正常),然后定期检查它们,但这意味着我想要更改的文件也会出现,这将使其难以管理。
答案1
这里的问题是如何您可以检测到文件已损坏...
您可以使用校验和(例如 MD5)。如果文件尚未被修改,但其 MD5 校验和错误,则很可能已损坏。
遗憾的是,除非使用正确的软件打开修改后的文件,否则您无法知道它们是否已被保存损坏。
答案2
我的解决方案基于 Apple:我只是让 Time Machine 进行增量备份。这会自动包括 Dropbox 文件夹。
我没有采取任何措施来检测损坏的文件,但至少可以检索正确的版本。
我还定期克隆我的时间机器备份。
顺便说一句,值得注意的是,Dropbox 的非免费版本包含完整版本控制,而免费版本仅提供上个月的版本控制。