どのコマンドを使用して実行しますか?
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
バックアップのためにデータベースをダンプするには、ターミナルでこのコマンドを呼び出します
mongodump --db database_name --collection collection_name
バックアップファイルをmongodbにインポートするには、ターミナルで次のコマンドを使用できます。
mongorestore --db database_name path_to_bson_file
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
このコマンドは、jsonおよびbson形式で指定されたデータベースのダンプを作成します。
mongodump -d <database name> -o <target directory>
Mongodumpと呼ばれるユーティリティがあります。mongoコマンドラインで次のように入力できます。
>./mongodump
上記は、ローカルホスト上のすべてのデータベースのダンプを作成します。単一のコレクションのダンプを作成するには:
./mongodump --db blog --collection posts
ご覧ください: mongodump
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
以下のコマンドでデータベースをダンプして復元できます
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
次のコマンドは、リモートサーバーに接続してデータベースをダンプします。
<>オプションのパラメーターは、必要な場合に使用します
名前付きで作成されたフォルダーへの出力
mongodump --Host --port --username --db --ssl --password --out _date + "%Y-%m-%d"
タイミングで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日より古いすべてのバックアップを削除する
がんばろう。
cmd->
以下のコマンドは、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全体がダンプされます。
または、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 !!!!!
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
特定のデータベースの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