简短回答:如果你的备份是镜像,它下次运行时会忠实地用加密版本替换每个完好的文件,而且不经询问。
版本就是全部的防线。不是更好的磁盘,也不是更快的复制,而是在保留今天的同时也保留昨天。
镜像让目标与源保持一致。这是它声明的工作,它也做得很好。大多数人运行的命令大致是这样的:
rsync -aE --delete ~/Documents/ /Volumes/Backup/Documents/
带着一个糟糕的早晨再读一遍 --delete。它的意思是:让备份保持一致,并从备份中删除源端已不存在的任何东西。
现在假设有什么东西一夜之间加密了你的“文稿”文件夹。每个文件都还在,同样的名称,同样的文件夹结构,内容却不同了。镜像在平常的时间运行,看到内容已更改的文件,便把新内容复制到旧内容上。它完全照你说的做了。你的备份现在是损害的第二份副本。
去掉 --delete 也好不了多少:删除不再传播,但更改过的文件仍会被覆盖,因为镜像对每个文件只保存一个版本。
这不是终端的问题。这是任何只保留一份副本的东西的特性。
共同点是它们都没做错什么。它们都在正确地传播一个没人想要的更改。
带版本的备份既保存文件周五的样子,也保存它周一的样子。当周五的副本变得毫无用处时,周一的那份还在。
有两点让它有用:
3-2-1 规则是为硬件故障而写的,碰巧也能回答这个问题:三份副本、两种存储、一份放在别处。这里重要的是最后一部分,特别是一份不长期连接的副本。
整周插着的驱动器,整周都能被 Mac 上运行的任何东西访问。只在周日插上的驱动器,每周只有几个小时能被访问。这并不复杂,却是大部分的实际好处,这也是为什么轮换两块驱动器这条无聊的建议一直正确。
值得直说,因为这正是这一类产品过度宣传自己的地方。
备份并不能阻止任何事情发生。它不会在事情开始时察觉,不会阻止进程写入你的文件,也不能代替及时更新 macOS 和不运行你不信任的东西。任何在这方面以“防护”名义卖给你的东西,做的都是与本页所述不同的工作。
备份做的是让损害可以撤销。这个说法更小,也更有用。
Copy Shelter 保留版本,所以文件更改不会覆盖它原来的样子,在 Mac 上删除文件也不会把它从备份中移除。它会读回备份,并用存储时的哈希检查每个数据块,因此悄悄变得不可读的副本会被报告出来。只要你愿意,它可以写入多个目标,而且只计算真正验证过的副本。
它不能预防任何事,也不能在事情发生时察觉。它给你的是历史记录,而历史记录正是让你回到周一的那部分。
比镜像好,因为它保留历史记录:每小时一份保留一天,每天一份保留一个月,空间允许时每周一份。两点注意。磁盘变满时它会精简旧快照,所以深度取决于磁盘容量。而一直连接的驱动器也一直可被访问。
只有当你放在那里的是带版本的备份时才有用。你实时文件的同步副本不行。同步文件夹会传播更改。写入同一文件夹的备份存储库则不会,因为旧版本是独立的对象,源端的任何东西都碰不到。
比你预计自己会发现的时间更长。三十天能覆盖你立刻察觉的失误。一年能覆盖你从去年春天起就没打开过的文件夹,而这才是让人中招的那个。
不能,任何自称备份的东西都不该告诉你相反的话。它保留版本并验证它们,所以损害可以撤销。预防则要靠及时更新 macOS、不安装你不信任的东西,以及不去打开那个附件。
每周插一次、放在别处、从不一直连着的第二块驱动器并不过分,花费大约一顿外卖的钱。它是本页最有效的一件事。
相关:3-2-1 规则、用 rsync 备份,以及检查备份是否可读。