it-swarm.com.de

Wie kann man mit mongorestore r3.2.9 aus einer .gz-Sicherung mit neuem Datenbanknamen wiederherstellen?

Ich versuche, die Mongodb-Datenbank in/aus .gz-Dateien als Beispielskript hier zu sichern/wiederherzustellen

#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}.*"

Schritt 01, d. H. Sichern, ist sowohl für die Mongodb-Version r3.2.9 Als auch für r3.4.10 Gut. obwohl Schritt 02 NICHT für r3.2.9 funktioniert

Wie kann ich mongorestore Version r3.2.9 Aus der .gz-Datei wiederherstellen und die Datenbank umbenennen?

p.s.

Wir haben die Lösung hier , aber dafür muss die Sicherung ein Ordner sein. Meine Sicherungsdateien sind riesig, d. h. 1 GB bis 2 GB, sodass das Extrahieren zu zeitaufwändig ist.

7
Nam G VU

Mit 3.2.x können Sie keine Parameter --nsFrom Oder --nsTo Verwenden. Dieses Befehlspaar sollte in allen Versionen funktionieren:

mongodump --db ${DB_NAME} --gzip -o ${BACKUP_FILE_GZ}

mongorestore --gzip --db "${DB_NAME_RESTORE}" ${BACKUP_FILE_GZ}/${DB_NAME}

Jetzt erhalten Sie ein Verzeichnis mit komprimierten Dateien und können alle (oder nur eine) Sammlungen in einer anderen Datenbank wiederherstellen.

9
JJussi

Nichts funktioniert für mich als das.

mongorestore --gzip --archive=/path/to/file.gz --db db_name
9
Siraj Alam

Das liegt daran, dass Ihr Mongodump-Skript ein --archive - Flag hat.

Dann müssen Sie es verwenden, wenn Sie Mongorestore machen.

3
Jorge Lopez