mongodbバックアップからデータをリカバリ


1.mongodbリカバリデータ


データベースがバックアップからデータをリカバリする必要がある場合は、mongodbに付属のmongorestoreツールを使用してデータをリカバリします.
mongorestoreはmongodumpの出力結果を取得し、バックアップの結果をmongodbに書き込む.

2.mongorestoreツール


mongorestoreのオプションパラメータを表示するには、次の手順に従います.
./bin/mongorestore --help

-h [ --host ] arg                     host
  --port arg                            port
  -u [ --username ] arg                 username
  -p [ --password ] arg                 password
  -d [ --db ] arg                       database to use
  -c [ --collection ] arg               collection to use (some commands)
--drop drop each collection before importインポート前に古いデータをクリーンアップ
バックアップデータディレクトリ
次のようになります.
./bin/mongorestore --host 127.0.0.1 --port 9980 --username user --password pass /home/work/backup/2011-10-24

アプリケーションset設定host
<replica_set_name>/<hostname1><:port>,<hostname2:<port>,...
次の例を参照

3.リカバリ・スクリプト


バックアップ・ディレクトリからスクリプトをリストアするには、次の手順に従います.
#! /bin/sh
# @author  bj1602#163.com
# @file restore.sh
# @desc  

set -x

hostname="127.0.0.1";
# replica set  
hostname="repl0/192.168.0.1:9980,192.168.0.2:9980";

port="9980";

log_dir="/home/gang/backup/mongodb/2014-03-29-10";
mongo_dir="/home/gang/mongo/";

echo `date +"%F %H:%M:%S"`;

cd $mongo_dir;

./bin/mongorestore --host $hostname --port $port --drop $log_dir;


echo `date +"%F %H:%M:%S"`;