阅读量:52
一、备份策略
-
全量备份
使用mongodump命令备份所有数据库,可指定压缩或输出到指定目录,例如:mongodump --out /backup/mongodb/$(date +%Y%m%d%H%M%S) --gzip -
增量备份
- 基于
--oplog参数(需在副本集环境):mongodump --oplog --out /backup/incremental/$(date +%Y%m%d%H%M%S) - 使用
rsync同步数据文件(适用于物理备份):rsync -av --delete /var/lib/mongo/ /backup/mongodb/incremental/
- 基于
-
定时备份
通过crontab设置周期性任务,例如每天凌晨2点执行全量备份:0 2 * * * mongodump --out /backup/mongodb/$(date +%Y%m%d%H%M%S) --gzip -
备份存储与验证
- 存储到远程服务器或云存储(如使用
scp/rsync)。 - 定期用
mongorestore --dryRun测试备份可恢复性。
- 存储到远程服务器或云存储(如使用
二、恢复策略
-
全量恢复
- 停止MongoDB服务:
sudo systemctl stop mongod。 - 解压备份文件并移动到数据目录:
tar -xzvf /backup/mongodb/backup.tar.gz -C / mv /data/db /var/lib/mongo # 确保路径正确 - 启动服务:
sudo systemctl start mongod。
- 停止MongoDB服务:
-
增量恢复
- 先恢复全量备份,再按时间顺序应用增量备份的
oplog文件:mongorestore --oplogReplay /backup/incremental/$(date +%Y%m%d%H%M%S)
- 先恢复全量备份,再按时间顺序应用增量备份的
-
恢复指定数据库/集合
mongorestore --db test --collection users /backup/mongodb/test/users.bson
三、注意事项
- 权限与安全:确保备份目录权限正确,敏感数据可加密存储。
- 版本兼容性:备份与恢复的MongoDB版本需一致,跨版本需额外处理。
- 性能影响:备份期间建议停止写入或选择低峰时段操作。
参考来源:[1,2,3,4,5,6,7,8,10,11,12]