Mac OS X - Time Machine 备份验证失败 - 我该怎么做才能保存历史记录?

Mac OS X - Time Machine 备份验证失败 - 我该怎么做才能保存历史记录?

如何让 Time Machine 进行新的完整备份而不丢失旧版本的备份文件?

详细:

我正在使用 OS X(Snow Leopard)上的 Time Machine 备份将整个计算机备份到外部驱动器。我特别喜欢“历史记录”,即允许您恢复文件旧版本的功能。

问题:我的外部备份驱动器上有一些数据损坏,我用系统工具修复了它,它发现了一些故障。我让磁盘工具修复了外部驱动器。之后,外部驱动器就没问题了,我可以再次使用 Time Machine。

我让 Time Machine 再做一次备份。

现在我根据 验证 Time Machine 备份

即沿着

sudo diff -qr . $HOME/Desktop 2>&1 | tee $HOME/timemachine-diff.log

但是:执行上述命令后,报告了几个差异和丢失的文件,总共约 200 个文件。

虽然一些丢失的文件是缓存或排除的目录,但差异确实困扰着我,特别是当我的一些重要文件被列为不同时。

我如何确保外部驱动器上的数据正确同步?

  • 是否可以使用 Time Machine 进行全新备份而不丢失历史记录?

  • 或者让 Time Machine 比较所有文件的差异并重写所有不同的文件?

  • 或者我可以在那些不匹配的文件上设置一些标志,以便再次复制它们吗?(就像 Windows/Dos 中的存档标志一样)。我宁愿不碰这些文件,因为我想保留上次更改的日期/创建日期)

谢谢你的想法!

答案1

时间机器使用FS事件告诉哪些目录中的文件在一段时间后被添加、更改或删除。(有一个很好的Ars Technica 的解释)即使以某种方式强制 OS X 重建 FSEvents 数据库,我思考Time Machine 仍然只会考虑上次备份日期之后发生的更改。我认为它只是假设所有旧备份都是有效的,并丢弃旧文件,因为它假设它已经复制了它们。

即使 FSEvents 告诉 Time Machine某物文件夹中的内容已发生改变,非常有深度的文章Quarter Life Crisis 声称:

如果两个文件的路径、日期和大小相同,Time Machine 就会认为它们是相同的。

因此,修改文件而不更改文件大小或日期,Time Machine 就不会注意到文件更改。但也许这仅适用于将上次备份与磁盘上的当前状态进行比较。如果您在上次备份中根本看不到文件,那么 Time Machine 也无法将当前文件与上次备份进行比较。或者,如果文件夹很长时间没有更改,那么 Time Machine 将完全跳过它。所以,或许你只需要让 Time Machine 处理该文件的文件夹再次。只需将文件添加到同一文件夹并将其删除,这会将该文件夹的名称添加到 FSEvents 数据库中。然后,当 Time Machine 运行时,它肯定会知道该文件夹需要处理。如果它只查看创建的文件上次备份,那么这对您没有帮助。但也许它确实会检查该文件夹中每个文件的存在,因此最终将丢失的文件复制到备份中。试一试。

如果只是戳文件夹不起作用,那么你只能更改文件日期。如果你同意,那么touch命令可以这样做:

touch my-file

相关内容