数据备份:一份能救命的清单
没验证过恢复的备份,等于没有备份。
备份这件事,平时没有正反馈。它唯一的回报出现在最糟的那一天——而那天你只有一次机会。
五个必须回答的问题
- 备了什么:数据库、上传文件、配置文件、密钥,缺一样都恢复不出来。
- 多久一次:每天全量 + 关键表增量,比"每周一次完美备份"有用。
- 放在哪:不能和源数据在同一台机器,最好不在同一个机房。
- 留多久:至少留够"发现问题"的时间窗,一般来说 14 天起。
- 怎么恢复:这条最重要。恢复步骤要写成脚本,并且真的演练过一次。
我的执行方式
# 每天凌晨:导出 → 压缩 → 校验完整性 → 传到保险柜机
pg_dump -Fc "$DB" -f "$OUT/db_$(date +%F).dump"
gzip -t "$OUT/db_$(date +%F).dump.gz" || echo "BACKUP BROKEN"把"备份成功"的标准定成能恢复,而不是文件存在。文件大小正常但内容是空的,这种事真的会发生。
每月挑一天,从备份里恢复到一个临时库,跑几条对账查询。做完就把日期记在日历上。