在 Debian 上备份 MongoDB,常见做法有 mongodump 逻辑备份、文件系统/快照备份、以及自动化脚本+定时任务。下面按实用程度给你一套方案。
Debian 通常分开打包:
sudo apt update
sudo apt install mongodb-org-tools
(或 mongodb-database-tools,取决于版本)
验证:
mongodump --version
mongodump --out /backup/mongo/$(date +%F)
如果是鉴权模式:
mongodump \
--host 127.0.0.1 \
--port 27017 \
--username admin \
--password '你的密码' \
--authenticationDatabase admin \
--out /backup/mongo/$(date +%F)
mongodump --archive=/backup/mongo/$(date +%F).archive --gzip
恢复示例:
mongorestore --archive=/backup/mongo/xxx.archive --gzip
/usr/local/bin/mongo_backup.sh
#!/bin/bash
BACKUP_DIR=/backup/mongo
DATE=$(date +%F)
mongodump --archive=$BACKUP_DIR/$DATE.archive --gzip
# 保留7天
find $BACKUP_DIR -name "*.archive" -mtime +7 -delete
赋予权限:
chmod +x /usr/local/bin/mongo_backup.sh
crontab -e
每天凌晨 2 点:
0 2 * * * /usr/local/bin/mongo_backup.sh
--dbpath 指定的数据目录(如 /var/lib/mongodb)db.fsyncLock()
cp -a /var/lib/mongodb /backup/mongo-data
db.fsyncUnlock()
或使用 LVM / 云快照(推荐,几乎无锁)。
✅ 推荐组合:
❌ 不推荐:
如果你愿意,可以告诉我:
我可以给你一份可直接用的 Debian 备份脚本。