在CentOS上使用MongoDB備份恢復工具(mongodump
/mongorestore
)的步驟如下:
安裝工具(若未安裝):
sudo yum install -y mongodb-org-tools
全量備份:
mongodump --out /path/to/backup/dir # 備份所有數據庫
--db dbname
--collection collection_name
| gzip > backup.tar.gz
定時備份(可選):
/backup/mongod.sh
:#!/bin/bash
mongodump --out /backup/mongodb/$(date +%Y%m%d%H%M%S) && tar -czvf /backup/mongodb/$(date +%Y%m%d%H%M%S).tar.gz /backup/mongodb/$(date +%Y%m%d%H%M%S)
sudo crontab -e
0 2 * * * /bin/bash /backup/mongod.sh # 每天凌晨2點執行
停止MongoDB服務(恢復前建議操作):
sudo systemctl stop mongod
解壓縮備份文件(若壓縮過):
tar -xzvf backup.tar.gz
全量恢復:
mongorestore /path/to/backup/dir # 恢復所有數據庫
--db dbname /path/to/backup/dir/dbname
--db dbname --collection collection_name /path/to/backup/dir/dbname/collection_name.bson
增量恢復(需配合oplog):
mongodump --oplog -o /backup/oplog
--oplogReplay --oplogLimit "Timestamp(1620000000,1)"
啟動MongoDB服務:
sudo systemctl start mongod
--verbose
參數查看詳細日志。參考來源: