在 Debian 上备份 MongoDB,常见且推荐的做法是使用 mongodump 工具。下面按最常用场景给你一个完整、可操作的备份方案。
sudo systemctl status mongod
MongoDB 4.4+ 已不再自带 mongodump,需单独安装:
sudo apt update
sudo apt install mongodb-database-tools
验证:
mongodump --version
mongodump 备份(推荐)mongodump --out /backup/mongodb/$(date +%F)
示例结果:
/backup/mongodb/2026-01-21/
如果 MongoDB 启用了用户名密码:
mongodump \
--host 127.0.0.1 \
--port 27017 \
--username admin \
--password 'your_password' \
--authenticationDatabase admin \
--out /backup/mongodb/$(date +%F)
mongodump --db mydb --out /backup/mongodb/mydb
mongodump --db mydb --collection users --out /backup/mongodb
mongodump --archive=/backup/mongodb/$(date +%F).gz --gzip
优点:
mongorestore)mongorestore /backup/mongodb/2026-01-21
mongorestore --archive=/backup/mongodb/2026-01-21.gz --gzip
mongorestore --db mydb /backup/mongodb/2026-01-21/mydb
sudo nano /usr/local/bin/mongo_backup.sh
内容示例:
#!/bin/bash
BACKUP_DIR="/backup/mongodb"
DATE=$(date +%F)
mongodump --archive=${BACKUP_DIR}/${DATE}.gz --gzip
# 保留最近 7 天
find $BACKUP_DIR -name "*.gz" -mtime +7 -delete
授权:
chmod +x /usr/local/bin/mongo_backup.sh
sudo crontab -e
每天凌晨 2 点备份:
0 2 * * * /usr/local/bin/mongo_backup.sh >> /var/log/mongo_backup.log 2>&1
✅ 一致性
mongodump--oplog(推荐)mongodump --oplog --out /backup/mongodb
✅ 磁盘空间
/backup 有足够空间✅ 权限
sudo mkdir -p /backup/mongodb
sudo chown mongodb:mongodb /backup/mongodb
mongodump?| 场景 | 建议 |
|---|---|
| 大数据量(TB 级) | 文件系统快照 |
| 副本集 | --oplog |
| 云环境 | Atlas / 云备份 |
mongodump --archive=/backup/mongodb/$(date +%F).gz --gzip
如果你愿意,可以告诉我:
我可以给你 定制一套生产级备份方案。