以下是Ubuntu版MongoDB的备份配置步骤,涵盖基础备份、定时备份及验证等关键操作:
安装备份工具
sudo apt update
sudo apt install mongodb-tools # 或 mongodb-org-tools
基础备份命令
mongodump --host localhost --port 27017 --out /path/to/backup/$(date +%Y%m%d%H%M%S) # 指定目录
mongodump --db your_db --collection your_collection --out /path/to/backup/ # 指定数据库/集合
mongodump --username admin --password 123456 --authenticationDatabase admin --out /path/to/backup/ # 添加认证参数
压缩备份文件
tar -czvf /path/to/backup/$(date +%Y%m%d%H%M%S).tar.gz /path/to/backup/$(date +%Y%m%d%H%M%S) # 压缩目录
定时备份(Cron配置)
sudo crontab -e
0 2 * * * /usr/local/bin/mongodb_backup.sh >> /var/log/mongodb_backup.log 2>&1 # 调用脚本
#!/bin/bash
BACKUP_BASE="/backup/mongodb"
DATE=$(date +%Y%m%d)
FULL_BACKUP="$BACKUP_BASE/full"
INCREMENTAL_BACKUP="$BACKUP_BASE/incremental_$DATE"
mkdir -p $FULL_BACKUP $INCREMENTAL_BACKUP
mongodump --out $FULL_BACKUP # 首次全量备份
mongodump --oplog --out $INCREMENTAL_BACKUP # 后续增量备份(需结合oplog)
验证备份
mongorestore --dryRun /path/to/backup/your_backup_dir # 模拟恢复,检查数据完整性
清理过期备份
find /path/to/backup -name "*.tar.gz" -mtime +7 -exec rm {} \; # 保留最近7天备份
关键说明:
mongodb-tools
或mongodb-org-tools
均为官方工具,后者包含更多高级功能。参考来源: