切换配色
MongoDB 备份练习:先证明能够恢复
备份文件存在,只能证明复制动作执行过。真正的备份应该能够在需要时恢复,并且恢复结果可以被检查。
从恢复目标开始
我会先回答两个问题:最多能接受丢失多久的数据,以及故障后希望多久恢复服务。个人项目不一定需要复杂集群,但需要知道自己的取舍。
一次完整练习
- 使用权限受限的备份账户生成带时间戳的归档。
- 计算校验值,并把归档复制到服务器之外。
- 在隔离数据库中恢复,不覆盖生产数据。
- 检查集合数量、关键索引和少量业务记录。
- 记录耗时、结果和需要修正的步骤。
不把秘密写进脚本
连接信息应该来自权限受限的配置文件或凭据机制,不写进仓库、命令历史和普通日志。验证输出也只记录必要的统计,不打印用户数据。
恢复演练会占用空间和 I/O,因此应避开业务高峰,并对隔离环境设置生命周期。我的目标不是让流程看起来复杂,而是定期获得“这份备份确实可用”的证据。