web-dev-qa-db-fra.com

Comment créer un dump MongoDB de ma base de données?

Quelle commande dois-je utiliser et exécuter?

113
TIMEX

Utilisez 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

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

66
earldouglas

Pour sauvegarder votre base de données pour la sauvegarde, appelez cette commande sur votre terminal 

mongodump --db database_name --collection collection_name

Pour importer votre fichier de sauvegarde sur mongodb, vous pouvez utiliser la commande suivante sur votre terminal

mongorestore --db database_name path_to_bson_file
104

Vous pouvez également utiliser gzip pour sauvegarder une collection et la compresser à la volée:

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

ou avec une date dans le nom du fichier:

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

Mettre à jour:
Sauvegardez toutes les collections d'une base de données dans un dossier de date. Les fichiers sont gzipés:

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

Ou pour une archive unique:

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

Ou lorsque mongodb est exécuté dans le menu fixe:

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

Cette commande fera un dump de la base de données donnée au format json et bson.

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

Il existe un utilitaire appelé: mongodump Sur la ligne de commande de mongo, vous pouvez taper:

>./mongodump

Ce qui précède créera une sauvegarde de toutes les bases de données sur votre hôte local. Pour effectuer le dump d’une seule collection, utilisez:

./mongodump --db blog --collection posts

Regardez: mongodump

12
aditya_gaur

Vous devez ouvrir l'invite de commande en tant qu'administrateur dans un dossier où votre Mongo est installé (dans mon cas: C:\Program Files\MongoDB\Server\3.4\bin) . Si vous voulez vider toute votre base de données, peut simplement utiliser: 

mongodump --db database_name

Vous avez également la possibilité de ne sauvegarder que certaines collections ou de supprimer toutes les collections sauf certaines. 

Si vous souhaitez sauvegarder uniquement une collection (par exemple, les utilisateurs):

mongodump  --db database_name --collection users

Si vous souhaitez vider toute la collection, à l'exception des utilisateurs:

mongodump  --db database_name --excludeCollection=users

Il est également possible de générer le dump dans un fichier archive:

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

La commande suivante se connecte au serveur distant pour vider une base de données:

<> les paramètres optionnels les utilisent si vous en avez besoin

  • Host - Port du nom d'hôte
  • nom d'utilisateur du port d'écoute 
  • nom d'utilisateur de db db 
  • nom de ssl
  • connexion sécurisée 
  • sortie dans un dossier créé avec un nom

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

7
Michael Horojanski

Vous pouvez vider votre base de données et la restaurer avec la commande ci-dessous

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

par exemple, mon nom de base de données est tracking i ai dump dans le dossier dump

mongodb  -d tracking -o dump

Restauration du dump

mongorestore -d <databasename> <dum_path>

mongorestore -d tracking  dump/tracking
6
Nanhe Kumar

cmd ->

C:\Program Files\MongoDB\Server\3.2\bin> Mongodump.exe --db Dintest

3
arnav

Sous la commande travaillera à prendre dump de mongo db.

mongodump -d -o 

Sous Windows: essayez celui-ci où c:\mongodump est l’emplacement du fichier de vidage, Il créera des métadonnées en json et une sauvegarde au format bson.

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

1
Bhasker The Navigator

Sauvegarder/restaurer Mongodb avec un timing. 

Sauvegarde:

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

--db argument pour le nom de la base de données

--out argument du chemin de sortie

Restaurer:

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

--drop argument pour supprimer la base de données avant la restauration

Calendrier:

Vous pouvez utiliser crontab pour la sauvegarde de chronométrage:

Sudo crontab -e

Il s'ouvre avec l'éditeur (par exemple, nano)

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

sauvegarde tous les jours à 03h03

Selon la taille de votre base de données MongoDB, il est possible que vous manquiez de disque espace avec trop de sauvegardes. C'est pourquoi il est également recommandé de nettoyer les anciennes sauvegardes régulièrement ou pour les compresser. Par exemple, pour supprimer toutes les sauvegardes de plus de 7 jours, vous pouvez utiliser le bash suivant commander:

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

supprimer toutes les sauvegardes de plus de 7 jours

Bonne chance.

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 et restaure avec uri en local

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

Si vous ne spécifiez pas --colletion COLLECTION_NAME, la base de données entière sera sauvegardée.

0
smartworld-dm

Ou vous pouvez créer un script de sauvegarde sous Windows, pensez à ajouter Winrar à% PATH%

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

effectuez une sauvegarde mongodb pour une base de données particulière et supprimez une sauvegarde vieille de 7 jours à l'aide de la commande 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