C# を使用して Mongodb データベースをバックアップおよび復元する方法 今のところ、mongodb データを保存するサーバーしかありません。サーバーが破壊された場合に備えて、復元できるようにバックアップを作成したいと考えています。
C#を使用してそれを行う方法を知っている人はいますか?
自動バックアップだけが必要な場合は、本格的なプログラミング言語に頼るよりも簡単な方法があります。
http://docs.mongodb.org/manual/tutorial/backup-databases-with-filesystem-snapshots/
リンクに示されているように、以下のコマンドで十分です。通常の頻度で実行するために、それを statup-script/daemon に入れることができます:
バックアップ:
lvcreate --size 100M --snapshot --name mdb-snap01 /dev/vg0/mongodb
戻す:
lvcreate --size 1G --name mdb-new vg0
gzip -d -c mdb-snap01.gz | dd of=/dev/vg0/mdb-new
mount /dev/vg0/mdb-new /srv/mongodb
mongodump を使用してバックアップを取得するには、次のコマンドを使用します
mongodump -d database_name -o directory_where_mongodb_exists
復元するには、このコマンドを使用します
mongorestore -d database_name mongodb_restore_directory
この回答では、これを初めて行ったときに経験したいくつかの警告を強調します。これが同じ状況の誰かに役立つことを願っています。この例ではコマンド ラインを使用していますが、Mongo をインストールするとすぐに使用できるユーティリティがあり、C# でも十分に使用できます。
まず、MongoDB インストール ディレクトリが環境パスにあり、mongodumpコマンドにアクセスできることを確認します。MongoDB は通常~\ProgramFiles\MongoDB\Server\<vr>\bin
、Windows にインストールされます。
CMD からユーティリティにアクセスできるようになったら、バックアップを保存 (またはダンプ) するディレクトリに移動します。
mongodump --help
オプションについては、 を確認してください。単純な (完全な) バックアップと復元を使用しました。したがって、コマンドを使用して、必要なオプションを指定します。次に例を示します。
mongodump /host:ds062199.mlab.com /port:62199 /username:mydbuser /password:mypwd /db:mydbname
Enter キーを押すと、ユーティリティによって BSON とメタデータの JSON バックアップ ファイルがdump/dbname
サブディレクトリに作成されます。
ここで、復元するには、次の手順を実行します。Azure (Mongo Labs) で実行されている Mongo インスタンスをバックアップし、次のようにローカル マシンに復元したことに注意してください。同じディレクトリ (cmd 上) で、次のコマンドを実行します。
mongorestore /host:localhost /port:27017
そして、localhost mongodb インスタンスのバックアップのレプリカとして、新しいデータベースを作成します。
お役に立てれば!