↓ 跳过正文
  1. 文章/

备份这事,别再往后拖了

·3 分钟·

我在这件事上拖过很久。

不是因为不会。恰恰是因为太简单了——简单到总觉得"明天弄",然后明天变成下个月,下个月变成"等换新硬盘的时候一起弄"。

真正让我动手的是一次很小的意外:某次清理目录,rm -rf 后面少打了个斜杠,一个项目的两年历史没了。不算致命,因为代码在远端仓库还有一份。但那个瞬间我出了一身冷汗——如果那是照片呢?如果那是我手写的笔记呢?

一个够用的原则
#

备份这件事,网上有个流传很久的原则,大意是:三份副本,两种介质,一份异地。

我觉得不用背,理解意思就行:别让同一次事故能同时干掉你家所有的数据。硬盘坏、误删、勒索软件、房子漏水——这几种事发生的范围和方式完全不一样,你的副本至少要能挡住其中大多数。

具体到我这儿:

  • 日常文件在本地硬盘;
  • 重要的同步一份到移动硬盘,定期插上;
  • 最要紧的那一小部分(笔记、文档、项目源码)再传一份对象存储或者远端仓库。

顺序有讲究。越往下,成本越高、频率越低,但也越不可能跟本地一起没。

比备份更重要的是"恢复"
#

这一点我以前没当回事。

备了三年,从来没试过还原一次。这种情况比没有备份更危险——因为你会有虚假的安全感,还会在出事的时候才发现打包脚本有问题、文件其实压根没传上去、压缩包是 0 字节。

所以现在我给自己加了一条:每隔一段时间,从备份里随手抽一个文件恢复出来,打开看看内容对不对。

不用多复杂,抽一个就够。这个动作花不了三分钟,但它能立刻告诉你备份到底是活的还是死的。

文本的好处
#

意外之后我更喜欢纯文本了。

Markdown、代码、配置文件,这些不依赖任何特定软件的格式,十年后拿记事本也能打开。同步、diff、版本控制全都有现成工具,出错了也看得见。

反过来,那些存在某个应用里的"富内容",格式不透明,导出功能往往还是残的(付费才能导出全部,这种设计你肯定见过)。你把东西存进去的时候很舒服,想拿出来的时候才发现门是单向的。

这个博客也一样。所有文章都是 .md 文件,放在本地目录里,哪天这个站不做了,整个目录拷走就完了。反而是那些"存在平台里"的博客,一旦平台改规则、涨价、或者关停,你的东西就在别人的硬盘上,按别人的心情保存。

最后
#

备份这件事没有做完的一天,只有"最近一次验证是什么时候"。

如果你现在回想一下,想不起来上次验证是什么时候——那就现在抽一个文件恢复一下。三分钟,比什么都强。