使用mongorestore恢復數據,以下是恢復腳本
把腳本保存為restore.sh, {{ mongorestore }} 換成你的mongorestore的PATH位置,修改dbHost、dbPort、dbName、dbUsername、dbPassword,保存文件,增加可執行權限: chmod a+x restore.sh ,執行的時候要指定備份數據庫的目錄: ./restore.sh {{your_backup_database_dir}}
#!/bin/sh #恢復Mongo 數據庫: echo "1.開始恢復數據" PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin:{{ mongorestore_path }} export PATH #數據庫 dbHost="127.0.0.1" dbPort=27017 dbName="" dbUsername="" dbPassword="" #備份目錄 realDbBakDir=$1 if [ ! -x "$1" ];then echo "目錄非法" exit fi echo "備份的數據庫為:" $dbName echo $dbName "數據庫備份文件目錄為:" $realDbBakDir echo "2.備份恢復:" mongorestore -h $dbHost:$dbPort -u $dbUsername -p $dbPassword --drop --authenticationDatabase $dbName -d $dbName $realDbBakDir echo "3.備份恢復結束"
注:mongo3上dump的數據是可以restore到mongo4上的。mongo2上dump的數據可否restore到mongo3和mongo4,則未經測試。
