备份这件事,越早开始越省心
三年前丢过一次数据。不算大事故,一块用了四年的机械盘,某天开机就认不到了。里面是几年的照片和一个还没写完的项目。找数据恢复报了两千多,最后拿回来一部分,剩下的没了。
从那以后我对备份的态度彻底变了。以前总觉得「重要东西我记着就行」,真出事才发现,人根本记不全自己放过什么。
现在用的三层
第一层是同步,不是备份。工作目录放 Syncthing,几台机器之间实时同步。好处是随时切换设备不中断,坏处是误删也会同步过去,所以它不能算备份。
第二层是每日快照。服务器上的数据目录用 restic 每天增量推一份到另一台机器,保留 30 天。restic 的好处是去重和加密,几百 G 的目录跑一个月也就多占几十 G。
第三层是异地。每季度把最要紧的东西(密钥、文档、照片原图)打包丢一份到对象存储,冷归档那种,一年几十块钱。这层基本不用,但心里踏实。
几个踩过的坑
一是只备份不验证。有次脚本跑了半年都正常,某天想恢复一个文件,才发现密码记错了,整份快照解不开。现在每月会随机抽一个文件恢复一次。
二是把备份和源放同一个盘。这个不用多说,等于没备份。
三是忘了备份配置。数据库备份了,但数据库的配置文件、证书、cron 没备,恢复的时候还得重新摸一遍。现在整个 /etc 也进快照了,反正不大。
说到底,备份的成本是持续的麻烦,不备份的成本是一次性的绝望。前者划算得多。