先说结论:我现在严格执行 3-2-1——三份副本、两种介质、一份异地。而故事的开头,是我在完全懂这套理论的情况下,丢掉了一份写了三个月的服务器配置。
事故复盘
那天我只是在做一次"例行"的磁盘清理,一个手滑的 rm -rf 变量拼接错误,删掉的不是缓存目录,而是还没同步走的配置仓库。更讽刺的是,我甚至给备份写过 cron——只是它静静跑了两个月,我从来没验证过恢复流程。
没有演练过恢复的备份不叫备份,叫心理安慰。
重建后的三层防线
- 第一层:实时快照——文件系统级定时快照,误删十分钟内可回滚;
- 第二层:每日增量——rsync 到另一块盘,保留 30 天滚动窗口;
- 第三层:每周异地——rclone 推到对象存储,开版本控制,防手滑也防加密勒索。
恢复演练写进了日历
现在每季度强制自己做一次"火灾演习":随机挑一个目录,只从备份恢复,全程不许碰原数据。第一次演练就发现了两个致命问题——备份脚本没排除临时锁文件,以及异地副本的加密密钥存在了同一台机器上(等于钥匙插在门上)。
这个站现在也是这套体系的受益者:首页日志里那条"定时备份已创建"不是装饰,它背后有真脚本、真校验和、真异地副本。丢过一次的人,才会把备份做成仪式。