Antworten:
Verwendung 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 für die Sicherung 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
eine Sicherungskopie einer Sammlung erstellen und die Sicherung im laufenden Betrieb 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 werden 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
mongodump
oder höher können Sie die --gzip
Option verwenden, um dies zu tun: mongodump_manpage und die gleiche Option für mongorestore
Es gibt ein Dienstprogramm namens: mongodump In der Mongo-Befehlszeile können Sie Folgendes eingeben:
>./mongodump
Mit dem obigen Befehl wird ein Speicherauszug aller Datenbanken auf Ihrem lokalen Host erstellt. Um einen Dump einer einzelnen Sammlung zu erstellen, verwenden Sie:
./mongodump --db blog --collection posts
Schauen Sie sich an: Mongodump
Sie müssen die Eingabeaufforderung als Administrator in einem Ordner öffnen, in dem Ihr Mongo installiert ist (in meinem Fall: C: \ Programme \ MongoDB \ Server \ 3.4 \ bin). Wenn Sie Ihre gesamte Datenbank sichern möchten, können Sie einfach Folgendes verwenden:
mongodump --db database_name
Sie haben auch die Möglichkeit, nur bestimmte Sammlungen oder alle bis auf bestimmte Sammlungen zu sichern.
Wenn Sie nur eine Sammlung sichern möchten (z. B. Benutzer):
mongodump --db database_name --collection users
Wenn Sie alle außer der Benutzersammlung sichern möchten:
mongodump --db database_name --excludeCollection=users
Es ist auch möglich, den Speicherauszug in eine Archivdatei auszugeben:
mongodump --archive=test.archive --db database_name
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 Drop-Datenbank vor Wiederherstellung
Zeitliche Koordinierung:
Sie können crontab für die zeitliche Sicherung verwenden:
sudo crontab -e
Es öffnet sich mit Editor (zB Nano)
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 wird Ihnen möglicherweise bald der Speicherplatz mit zu vielen Sicherungen ausgehen. Aus diesem Grund wird auch empfohlen, die alten Backups regelmäßig zu bereinigen oder zu komprimieren. Um beispielsweise alle Sicherungen zu löschen, die älter als 7 Tage sind, können Sie den folgenden Befehl bash verwenden:
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.
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
Der folgende Befehl stellt eine Verbindung zum Remote-Server her, 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"
cmd ->
C:\Program Files\MongoDB\Server\3.2\bin>mongodump.exe --db Dintest
Ist Ihre Datenbank im lokalen System. Dann geben Sie den folgenden Befehl ein. für Linux-Terminal
mongodump -h SERVER_NAME:PORT -d DATABASE_NAME
Wenn Datenbankbenutzer und Passwort vorhanden sind, finden Sie unten den Code.
mongodump -h SERVER_NAME:PORT -d DATABASE_NAME -u DATABASE_USER -p PASSWORD
Dies funktionierte sehr gut in meinem Linux-Terminal.
Der folgende Befehl funktioniert, um einen Speicherauszug von mongo db zu erstellen.
mongodump -d -o
Unter Windows: Versuchen Sie dies, wobei c: \ mongodump der Speicherort der Dump-Datei ist. Es werden Metadaten in JSON erstellt und im Bson-Format gesichert
C: \ MongoDB \ bin> mongodump -d -oc: \ mongodump
Sie können auch 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 !!!!!
Mongo Dump und Wiederherstellung mit Uri zu lokalen
mongodump --uri "mongodb: // USERNAME: PASSWORD @ IP_OR_URL: PORT / DB_NAME" --collection COLLECTION_NAME -o LOCAL_URL
Wenn Sie --colletion COLLECTION_NAME nicht angeben, wird die gesamte Datenbank ausgegeben.
Nehmen Sie ein Mongodb-Backup für eine bestimmte Datenbank und löschen Sie das 7 Tage alte 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
Verwenden Sie "Pfad" für Windows. Andernfalls wird der Fehler wie folgt angezeigt: Positionsargumente nicht zulässig
mongodump -h hostname -u dbusername -p dbpassword --db dbname --port portnummer --out / path / folder
mongodump -h hostname -u dbusername -p dbpassword --db dbname --port portnummer --out /path/folder.gz
mongodump
ohne Flaggen und Sie erhalten Dump- Ordner