简短回答:Time Machine 的设计就是删除旧备份。每小时备份保留一天,每日备份保留一个月,每周备份保留到磁盘装满。然后删除最旧的。
这没有设置项。你无法让 Time Machine 保留三年,唯一的调节手段是磁盘大小。
这是有文档记载的行为,多年来没有变过:
所以你最旧备份的时间只取决于一件事:备份磁盘比 Mac 上的数据大多少,以及这些数据变化有多频繁。1 TB 驱动器备份 900 GB 的 Mac,能保留几周。同一块驱动器备份 200 GB,能保留好几年。没人会告诉你属于哪种情况。
就是上面那种。你有时会在通知中心看到“时间机器删除了一些较旧的备份以腾出空间”,但同样经常什么也看不到,因为这条通知很容易错过,也很容易被关掉。
检查实际保留下来的内容:
tmutil listbackups
这会按从旧到新的顺序列出已装载目标上的每份备份。从左侧往下看日期,就能看出计划的轮廓:末尾是一串每日备份,之前是每周备份,开始日期则告诉你最远能回到哪里。
有时 Time Machine 会放弃现有的历史记录,重新开始。macOS 升级、修复过的宗卷、更改过的磁盘标识符或损坏的备份索引都可能导致这种情况。旧备份可能仍在磁盘上占用空间,却无法从恢复界面访问。
对目标运行 tmutil listbackups,会显示仍可访问的内容。如果一块你用了两年的驱动器上最旧的条目只有几天,就是发生了这种情况。
在 APFS 的 Mac 上,Time Machine 还会在内置磁盘上保存快照,这样在备份驱动器未连接时也能恢复一些东西。它们保留约 24 小时,需要空间时会被自动删除。
tmutil listlocalsnapshots /
人们发现这些快照,以为它们就是备份,然后发现它们不见了。它们与原件位于同一块磁盘上,所以驱动器坏了两者都没了。对你今天下午发现的失误有用。但不是备份。
在网络目标上,你的全部历史记录都在一个稀疏捆绑包里。网上关于备份问题的建议,常常以“删除 sparsebundle 重新开始”结尾,而这样做会一次删除你拥有的每个版本。磁盘映像错误有不涉及这一步的解决方法,值得先试试。
说实话,很少。
你不能做的是设置保留策略。没有天数,没有最少版本数,也没有“永久保留每月第一次备份”。本页顶部的计划就是全部界面。
它是为了让一块固定的磁盘用得更久,而且对此是个合理的答案。问题在于这项策略运行时是看不见的。当你去找八个月前某个文件版本的那天,才会知道你的磁盘实际能回溯多远,而那时答案已经定了。
旧版本会一直保留,直到你另作决定。没有三十天就丢弃它们的计数器,也没有背着你精简它们的计划。
当空间确实不足时,应用会询问你,并在执行任何操作之前告诉你会删除什么、能释放多少空间。计划先制定、稍后执行,所以规则中的错误在一周内都可以挽回。
主屏幕会显示历史记录能回溯多远,而这正是本页所讲的那个数字。而且在每个方案中恢复最新备份都是免费的,包括许可证到期之后,所以历史记录是你付费购买的便利,而找回文件不是。
如果你继续用 Time Machine,今天值得做的是运行 tmutil listbackups,看看第一个日期,判断回溯这么远对你来说是否够用。3-2-1 规则回答了问题的另一半:保存这一切的那块磁盘坏了会怎样。
不能。没有设置,没有能持久生效的 defaults 命令,也没有受支持的方式锁定某个备份。唯一能调节的是磁盘大小、备份多少内容,以及使用多个目标。
连接驱动器后运行 tmutil listbackups。第一行是你仍能恢复的最旧备份。决定你的历史能回溯多远的是这个日期,而不是驱动器的使用年限。
是的,这是设计好的行为:最旧的备份会被删除,为最新的备份腾出空间。也值得检查一下磁盘是否真的满了,因为“空间不足”的提示往往与它估算任务大小的方式有关,而不是与可用空间有关。
不是。它们与来源文件位于同一块磁盘上,保留约一天,系统需要空间时就会被删除。它们能挽回今天下午的误删,仅此而已。
更新可能使备份索引失效并开始新的备份链。旧数据通常仍在磁盘上,却无法从恢复界面访问。tmutil listbackups 会告诉你哪些仍可访问,如果答案只有最近几天,说明备份链被重新开始了。
相关:Time Machine 提示空间不足、3-2-1 规则,以及 Copy Shelter 与 Time Machine 对比。