阅读量:2
备份技巧
-
全量备份
使用mongodump备份整个数据库或指定集合,支持增量备份(通过--oplog或--since参数)。
示例:mongodump --host localhost --port 27017 --db mydb --out /backups/mongodb/full_$(date +%Y%m%d) -
增量备份
基于全量备份,通过--oplog参数备份自上次备份以来的变更。
示例:mongodump --host localhost --port 27017 --oplog --out /backups/mongodb/incremental_$(date +%Y%m%d) -
自动化备份
通过cron定时任务执行备份脚本,结合压缩和保留策略(如保留7天每日备份、4周每周备份)。
示例脚本:#!/bin/bash BACKUP_DIR="/backups/mongodb" DATE=$(date +%Y%m%d) mongodump --host localhost --port 27017 --out $BACKUP_DIR/$DATE tar -czvf $BACKUP_DIR/mongodb_$DATE.tar.gz $BACKUP_DIR/$DATE find $BACKUP_DIR -name "mongodb_*.tar.gz" -mtime +7 -exec rm {} \; -
异地与加密备份
将备份文件存储至远程服务器或云存储,敏感数据可加密(如使用gpg)。
恢复技巧
-
全量恢复
停止 MongoDB 服务,删除原有数据(可选),用mongorestore恢复备份。
示例:sudo systemctl stop mongod mongorestore --db mydb /backups/mongodb/full_20250915 sudo systemctl start mongod -
增量恢复
按时间顺序依次恢复全量备份和增量备份,需确保oplog已启用。
示例:mongorestore --oplogReplay --db mydb /backups/mongodb/incremental_20250915 -
验证恢复
通过mongoshell 连接数据库,检查数据完整性和一致性。
示例:mongo use mydb db.collection.find()
注意事项
- 恢复前务必停止写操作,避免数据冲突。
- 定期测试备份有效性,模拟恢复流程。
- 敏感数据需加密存储,异地备份提升可靠性。
以上就是关于“Ubuntu MongoDB数据备份与恢复技巧”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm