在 Debian 上备份 MongoDB,常见做法有 mongodump 逻辑备份、文件系统/快照备份 和 MongoDB Atlas/副本集备份。下面给你最常用、最稳妥的方式。
Debian 通常分开打包:
sudo apt update
sudo apt install mongodb-database-tools
验证:
mongodump --version
mongodump \
--host 127.0.0.1 \
--port 27017 \
--out /backup/mongodb/$(date +%F)
如果是 认证用户:
mongodump \
--uri="mongodb://user:password@127.0.0.1:27017/?authSource=admin" \
--out /backup/mongodb/$(date +%F)
mongodump --db mydb --out /backup/mydb
mongodump --db mydb --archive=/backup/mydb.archive.gz --gzip
mongorestore \
--uri="mongodb://user:password@127.0.0.1:27017/?authSource=admin" \
/backup/mongodb/2026-01-21
或恢复压缩文件:
mongorestore --gzip --archive=/backup/mydb.archive.gz
sudo systemctl stop mongod
sudo rsync -a /var/lib/mongodb /backup/mongodb-data
sudo systemctl start mongod
⚠️ 会短暂中断服务
mongo --eval "db.fsyncLock()"
mongo --eval "db.fsyncUnlock()"
sudo crontab -e
每天凌晨 2 点:
0 2 * * * mongodump --uri="mongodb://user:pass@127.0.0.1:27017/?authSource=admin" --out=/backup/mongodb/$(date +\%F)
✅ 定期测试恢复
✅ 备份文件异地存储(rsync / 对象存储)
✅ 大库用副本集隐藏节点备份
✅ 开启 --oplog 可做时间点恢复(PITR)
如果你愿意,我可以: