web-dev-qa-db-ja.com

データベースのMongoDBダンプを作成するにはどうすればよいですか?

どのコマンドを使用して実行しますか?

127
TIMEX

mongodumpを使用します。

$ ./mongodump --Host prod.example.com
connected to: prod.example.com
all dbs
DATABASE: log    to   dump/log
        log.errors to dump/log/errors.bson
                713 objects
        log.analytics to dump/log/analytics.bson
                234810 objects
DATABASE: blog    to    dump/blog
        blog.posts to dump/log/blog.posts.bson
                59 objects
DATABASE: admin    to    dump/admin

ソース: http://www.mongodb.org/display/DOCS/Import+Export+Tools

72
earldouglas

バックアップのためにデータベースをダンプするには、ターミナルでこのコマンドを呼び出します

mongodump --db database_name --collection collection_name

バックアップファイルをmongodbにインポートするには、ターミナルで次のコマンドを使用できます。

mongorestore --db database_name path_to_bson_file
115

gzipを使用して、1つのコレクションのバックアップを取得し、その場でバックアップを圧縮することもできます。

mongodump --db somedb --collection somecollection --out - | gzip > collectiondump.gz

または、ファイル名に日付が含まれる場合:

mongodump --db somedb --collection somecollection --out - | gzip > dump_`date "+%Y-%m-%d"`.gz

更新:
日付フォルダ内のデータベースのすべてのコレクションをバックアップします。ファイルはgzip圧縮されています。

mongodump --db somedb --gzip --out /backups/`date +"%Y-%m-%d"`

または、単一のアーカイブの場合:

mongodump --db somedb --gzip --archive > dump_`date "+%Y-%m-%d"`.gz

または、mongodbがdocker内で実行されている場合:

docker exec <CONTAINER> sh -c 'exec mongodump --db somedb --gzip --archive' > dump_`date "+%Y-%m-%d"`.gz
75
r03

このコマンドは、jsonおよびbson形式で指定されたデータベースのダンプを作成します。

mongodump -d <database name> -o <target directory>
56
jatin

Mongodumpと呼ばれるユーティリティがあります。mongoコマンドラインで次のように入力できます。

>./mongodump

上記は、ローカルホスト上のすべてのデータベースのダンプを作成します。単一のコレクションのダンプを作成するには:

./mongodump --db blog --collection posts

ご覧ください: mongodump

14
aditya_gaur

Mongoがインストールされているフォルダー(私の場合はC:\ Program Files\MongoDB\Server\3.4\bin)で管理者としてコマンドプロンプトを開く必要があります。データベース全体をダンプする場合は、次を使用できます。

mongodump --db database_name

また、特定のコレクションのみをダンプする、または特定のコレクション以外のすべてをダンプする可能性があります。

1つのコレクション(ユーザーなど)のみをダンプする場合:

mongodump  --db database_name --collection users

ユーザーコレクション以外のすべてをダンプする場合:

mongodump  --db database_name --excludeCollection=users

ダンプをアーカイブファイルに出力することもできます。

mongodump --archive=test.archive --db database_name
10
Jery

以下のコマンドでデータベースをダンプして復元できます

mongodb  -d <Your_db_name> -o <path of your folder>

たとえば、私のデータベース名はtrackingダンプフォルダーにダンプがあります

mongodb  -d tracking -o dump

ダンプの復元

mongorestore -d <databasename> <dum_path>

mongorestore -d tracking  dump/tracking
7
Nanhe Kumar

次のコマンドは、リモートサーバーに接続してデータベースをダンプします。

<>オプションのパラメーターは、必要な場合に使用します

  • ホスト-ホスト名ポート
  • リスニングポートのユーザー名
  • db dbのユーザー名
  • データベース名ssl
  • 安全な接続
  • 名前付きで作成されたフォルダーへの出力

    mongodump --Host --port --username --db --ssl --password --out _date + "%Y-%m-%d"

7

タイミングでMongodbをバックアップ/復元します。

バックアップ:

Sudo mongodump --db db_name --out /path_of_your_backup/`date +"%m-%d-%y"`

データベース名の--db引数

出力のパスの--out引数

復元:

Sudo mongorestore --db db_name --drop /path_of_your_backup/01-01-19/db_name/

復元前にデータベースを削除するための--drop引数

タイミング:

バックアップのタイミングにcrontabを使用できます。

Sudo crontab -e

エディターで開きます(例:nano)

3 3 * * * mongodump --out /path_of_your_backup/`date +"%m-%d-%y"`

毎日03:03 AMにバックアップ

MongoDBデータベースのサイズによっては、バックアップが多すぎてディスク領域がすぐに不足する場合があります。そのため、古いバックアップを定期的にクリーニングするか、圧縮することもお勧めします。たとえば、7日より古いすべてのバックアップを削除するには、次のbashコマンドを使用できます。

3 1 * * * find /path_of_your_backup/ -mtime +7 -exec rm -rf {} \;

7日より古いすべてのバックアップを削除する

がんばろう。

参照: https://www.digitalocean.com/community/tutorials/how-to-back-up-restore-and-migrate-a-mongodb-database-on-ubuntu-14-04

5
ShahRokh

cmd->

C:\ Program Files\MongoDB\Server\3.2\bin> mongodump.exe --db Dintest

3
arnav

以下のコマンドは、mongo dbのダンプを取るために機能します。

mongodump -d -o

Windowsの場合:c:\ mongodumpがダンプファイルの場所であるこれを試してください。jsonでメタデータを作成し、bson形式でバックアップします

C:\ MongoDB\bin> mongodump -d -o c:\ mongodump

Uriを使用したMongoのダンプと復元

mongodump --uri "mongodb:// USERNAME:PASSWORD @ IP_OR_URL:PORT/DB_NAME" --collection COLLECTION_NAME -o LOCAL_URL

--colletion COLLECTION_NAMEを指定しない場合、DB全体がダンプされます。

0
smartworld-dm

または、Windowsでバックアップスクリプトを作成できます。Winrarを%PATH%に追加することを忘れないでください

bin\mongodump --db=COL1 -o D:\BACK\COL1
rar.exe a -ep1 -r COL1.rar COL1
rename COL1.rar "COL1_%date:~10,4%_%date:~7,2%_%date:~4,2%_%time:~0,2%_%time:~3,2%.rar"

#rmdir /s /q COL1 -> don;t run this on your mongodb/ dir !!!!!
0
user956584
 Use -v to see progress of backup data
    mongodump -v --db dbname --out /pathforbackup/NewFolderforBackupData

 you can use it for restore also
    mongorestore -v --db dbname --drop /pathforbackup/NewFolderforBackupData/dbname

with multile v like -vvvv you will get more information
0
Nivrutti

特定のデータベースのmongodbバックアップを取得し、bin shコマンドを使用して7日前のバックアップを削除します:

#!/bin/bash

MONGO_DATABASE="nexgtv_16"
APP_NAME="test"
MONGO_Host="127.0.0.1"
MONGO_PORT="27017"
TIMESTAMP=`date +%F-%H%M`
MONGODUMP_PATH="/usr/bin/mongodump"
BACKUPS_DIR="/home/mongodbbackups/backups/$APP_NAME"
BACKUP_NAME="$APP_NAME-$TIMESTAMP"
$MONGODUMP_PATH -d $MONGO_DATABASE
mkdir -p $BACKUPS_DIR
mv dump $BACKUP_NAME
tar -zcvf $BACKUPS_DIR/$BACKUP_NAME.tgz $BACKUP_NAME
rm -rf $BACKUP_NAME
find /home/mongodbbackups/backups/test/ -mindepth 1 -mtime +7 -delete
0
manoj tiwari