以下是MongoDB在Ubuntu上的数据备份策略及操作要点:
全量备份
使用mongodump
工具备份所有数据,适合初始备份或数据量较小的场景。
mongodump --host localhost --port 27017 --out /backup/mongodb/full_$(date +%Y%m%d)
增量备份
通过--oplog
参数备份自上次备份以来的变化数据,需结合全量备份使用。
mongodump --host localhost --port 27017 --oplog --out /backup/mongodb/incremental_$(date +%Y%m%d)
定时备份
用cron
设置自动化任务,如每日全量备份、每小时增量备份。
# 编辑定时任务
crontab -e
# 示例:每天凌晨2点执行全量备份
0 2 * * * mongodump --out /backup/mongodb/$(date +%Y%m%d)
备份保留策略
备份验证
用mongorestore --dryRun
模拟恢复,检查备份完整性。
安全与优化
gpg
工具)。自动化脚本示例
结合全量与增量备份的脚本(参考):
# 全量备份目录
FULL_BACKUP_DIR="/backup/mongodb/full"
# 增量备份目录(按日期)
INCREMENTAL_BACKUP_DIR="/backup/mongodb/incremental_$(date +%Y%m%d)"
# 执行全量备份(首次)或增量备份
if [ ! -d "$FULL_BACKUP_DIR" ]; then
mongodump --out "$FULL_BACKUP_DIR"
else
mongodump --oplog --out "$INCREMENTAL_BACKUP_DIR"
fi
注意:备份前确保MongoDB服务正常运行,且备份目录有足够权限。生产环境建议每季度进行恢复演练,验证备份有效性。