webentwicklung-frage-antwort-db.com.de

Wie erstelle ich einen MongoDB-Dump meiner Datenbank?

Welchen Befehl benutze und verwende ich?

113
TIMEX

Verwenden Sie 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

Quelle: http://www.mongodb.org/display/DOCS/Import+Export+Tools

66
earldouglas

Um Ihre Datenbank zu sichern, rufen Sie diesen Befehl auf Ihrem Terminal auf 

mongodump --db database_name --collection collection_name

Um Ihre Sicherungsdatei in Mongodb zu importieren, können Sie den folgenden Befehl auf Ihrem Terminal verwenden

mongorestore --db database_name path_to_bson_file
104

Sie können auch gzip verwenden, um ein Backup einer Sammlung zu erstellen und das Backup schnell zu komprimieren:

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

oder mit einem Datum im Dateinamen:

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

Update:
Sichern Sie alle Sammlungen einer Datenbank in einem Datumsordner. Die Dateien sind gziped:

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

Oder für ein einzelnes Archiv:

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

Oder wenn Mongodb im Docker läuft:

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

Dieser Befehl erstellt einen Dump der angegebenen Datenbank im Json- und Bson-Format.

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

Es gibt ein Dienstprogramm namens mongodump In der Mongo-Befehlszeile können Sie Folgendes eingeben:

>./mongodump

Das Obige erstellt einen Speicherauszug aller Datenbanken auf Ihrem localhost. Um einen Dump einer einzelnen Sammlung zu erstellen, verwenden Sie:

./mongodump --db blog --collection posts

Schauen Sie sich an: mongodump

12
aditya_gaur

Sie müssen den Befehl Eingabeaufforderung als Administrator in einem Ordner öffnen, in dem Ihr Mongo installiert ist (in meinem Fall: C:\Programme\MongoDB\Server\3.4\bin) kann nur verwenden: 

mongodump --db database_name

Sie haben auch die Möglichkeit, nur bestimmte Sammlungen abzuspeichern oder alle außer bestimmten Sammlungen. 

Wenn Sie nur eine Sammlung sichern möchten (z. B. Benutzer):

mongodump  --db database_name --collection users

Wenn Sie alle Sammlungen außer Benutzern ablegen möchten:

mongodump  --db database_name --excludeCollection=users

Es ist auch möglich, den Dump in eine Archivdatei auszugeben:

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

Mit dem folgenden Befehl können Sie eine Verbindung zum Remote-Server herstellen, um eine Datenbank zu sichern:

<> optionale Parameter verwenden sie, wenn Sie sie benötigen

  • Host - Hostname-Port
  • listening-Port-Benutzername 
  • benutzername von Db Db 
  • db name ssl
  • sichere Verbindung heraus 
  • ausgabe in einen erstellten Ordner mit einem Namen

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

7

Sie können Ihre Datenbank sichern und mit dem folgenden Befehl wiederherstellen

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

zum Beispiel ist mein Datenbankname tracking ich habe dump im dump-Ordner

mongodb  -d tracking -o dump

Dump wiederherstellen

mongorestore -d <databasename> <dum_path>

mongorestore -d tracking  dump/tracking
6
Nanhe Kumar

cmd ->

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

3
arnav

Der folgende Befehl funktioniert, um einen Speicherauszug von Mongo db zu erstellen.

mongodump -d -o 

Unter Windows: Versuchen Sie es mit c:\mongodump als Speicherort für die Dump-Datei Es werden Metadaten in json erstellt und eine Sicherung im bson-Format erstellt

C:\MongoDB\bin> Mongodump -d -o C:\Mongodump

Sichern/Wiederherstellen von Mongodb mit Timing. 

Backup:

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

--db Argument für den Datenbanknamen

--out Argument für den Ausgabepfad

Wiederherstellen:

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

--drop-Argument für die Dropdown-Datenbank vor der Wiederherstellung

Zeitliche Koordinierung:

Sie können crontab für das Timing der Sicherung verwenden:

Sudo crontab -e

Es wird mit einem Editor (z. B. Nano) geöffnet.

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

backup jeden Tag um 03:03 Uhr

Abhängig von Ihrer MongoDB-Datenbankgröße kann es sein, dass der Datenträger bald leer ist Speicherplatz mit zu vielen Backups. Deshalb ist es auch empfehlenswert, die alten Backups regelmäßig oder zu komprimieren. So löschen Sie beispielsweise Für alle Sicherungen, die älter als 7 Tage sind, können Sie die folgende Bash verwenden Befehl:

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

löschen Sie alle Backups, die älter als 7 Tage sind

Viel Glück.

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

1
ShahRokh

Mongo-Dump und Wiederherstellen mit uri lokal

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

Wenn Sie --colletion COLLECTION_NAME nicht angeben, wird der gesamte DB gesichert.

0
smartworld-dm

Oder Sie können ein Sicherungsskript unter Windows erstellen. Denken Sie daran, Winrar zu% PATH% hinzuzufügen.

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

nehmen Sie Mongodb-Backup für eine bestimmte Datenbank und löschen Sie den 7 Tage alten Backup mit dem Befehl bin sh:

#!/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