使用 mongodump
命令,示例:
mongodump --host 127.0.0.1 --port 27017 -u root -p 123456 --authenticationDatabase admin --out /data/backup/mongodump
mongodump --db test --collection trackEvent --out /data/backup/test
mongodump --out /data/backup/$(date +%Y%m%d) | gzip > /data/backup/$(date +%Y%m%d).tar.gz
/home/crontab/mongod_bak.sh
:#!/bin/bash
DUMP=/usr/bin/mongodump
OUT_DIR=/data/backup/mongod_bak/$(date +%Y%m%d)
mkdir -p $OUT_DIR
$DUMP -h 127.0.0.1 -u root -p 123456 --authenticationDatabase admin -o $OUT_DIR
tar -zcvf /data/backup/mongod_bak_$(date +%Y%m%d).tar.gz $OUT_DIR
find /data/backup/mongod_bak/ -mtime +7 -delete # 删除7天前备份
crontab -e
,添加 0 2 * * * /home/crontab/mongod_bak.sh
(每天凌晨2点执行)tar -xzvf /data/backup/mongod_bak_20250812.tar.gz -C /
mongorestore --host 127.0.0.1 --port 27017 -u root -p 123456 --authenticationDatabase admin /data/backup/mongod_bak/20250812
mongorestore --db test /data/backup/mongod_bak/20250812/test
mongorestore --drop --db test /data/backup/mongod_bak/20250812/test
sudo systemctl start mongod
mongorestore --dryRun
模拟恢复测试。参考来源:[1,2,3,5,6,7,8,9,10,11]