Mongodbデータベースを.gzファイルに/からバックアップ/復元しようとしています ここにサンプルスクリプト
#01 create .gz backup - ok for r3.2.9 and r3.4.10
mongodump --db ${DB_NAME} --gzip --archive=${BACKUP_FILE_GZ}
#02 restore from .gz file - NOT ok for r3.2.9
mongorestore --gzip --archive=${BACKUP_FILE_GZ} --nsFrom "${DB_NAME}.*" --nsTo "${DB_NAME_RESTORE}.*"
ステップ01つまり、バックアップは、mongodbバージョンr3.2.9
およびr3.4.10
;ただし、ステップ02はr3.2.9
mongorestoreバージョンr3.2.9
.gzファイルから復元し、データベースの名前を変更できますか?
pS.
ソリューションはこちら がありますが、これにはバックアップをフォルダーにする必要があります。私のバックアップファイルは巨大、つまり1Gb-2Gbなので、抽出に時間がかかりすぎます。
3.2.xでは、--nsFrom
または--nsTo
パラメータを使用できません。このコマンドのペアは、すべてのバージョンで機能するはずです。
mongodump --db ${DB_NAME} --gzip -o ${BACKUP_FILE_GZ}
mongorestore --gzip --db "${DB_NAME_RESTORE}" ${BACKUP_FILE_GZ}/${DB_NAME}
これで、gzip圧縮されたファイルを含むディレクトリが取得され、すべて(または1つだけ)のコレクションを別のデータベースに復元できます。
これでうまくいきます。
mongorestore --gzip --archive=/path/to/file.gz --db db_name
これは、mongodumpスクリプトに--archive
国旗。
次に、mongorestoreを実行するときにそれを使用する必要があります。