Welchen Befehl benutze und verwende ich?
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
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
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
Dieser Befehl erstellt einen Dump der angegebenen Datenbank im Json- und Bson-Format.
mongodump -d <database name> -o <target directory>
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
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
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
ausgabe in einen erstellten Ordner mit einem Namen
mongodump --Host --port --username --db --ssl --password --out _date + "% Y-% m-% d"
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
cmd ->
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.
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.
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 !!!!!
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
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