Comment créer un vidage MongoDB de ma base de données?
13 réponses
Utiliser 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 + exporter + outils
Pour vider votre base de données pour la sauvegarde, vous appelez cette commande sur votre terminal
mongodump --db database_name --collection collection_name
Pour importer votre fichier de sauvegarde dans mongodb, vous pouvez utiliser la commande suivante sur votre terminal
mongorestore --db database_name path_to_bson_file
Vous pouvez également utiliser gzip
pour prendre une sauvegarde d'une collection et compresser la sauvegarde à 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
Cette commande va faire un vidage de la base de données donnée au format json et BSON.
mongodump -d <database name> -o <target directory>
Il y a un utilitaire appelé: mongodump Sur la ligne de commande mongo, vous pouvez taper:
>./mongodump
Ce qui précède va créer un vidage de toutes les bases de données sur votre localhost. Pour faire un vidage d'une seule collection, utilisez:
./mongodump --db blog --collection posts
Jeter un oeil à : mongodump
Vous devez ouvrir l'invite de commande en tant qu'administrateur dans un dossier où votre Mongo est installé (dans mon cas: C:\Program fichiers \ MongoDB \ serveur \ 3.4 \ bin). Si vous voulez vider toute votre base de données, vous pouvez simplement utiliser:
mongodump --db database_name
Vous avez également des possibilités de vider uniquement certaines collections ou de vider toutes les collections sauf Certaines.
Si vous voulez vider une seule collection (par exemple les utilisateurs):
mongodump --db database_name --collection users
Si vous voulez vider tout sauf la collection users:
mongodump --db database_name --excludeCollection=users
, Il est également possible de sortir le vidage dans un fichier d'archive:
mongodump --archive=test.archive --db database_name
Commande suivante connectez-vous au serveur distant pour vider une base de données:
les paramètres optionnels les utilisent si vous en avez besoin
- host-port de nom d'hôte
- Nom d'utilisateur du port d'écoute
- Nom d'utilisateur de db db
- nom de base de données ssl
- Sortie de connexion sécurisée
-
Sortie dans un dossier créé avec un nom
Mongodump --accueil --port --username --db --ssl --mot de passe --out _date+"%Y-%m-%d"
Vous pouvez vider votre base de données et 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 suivi de j'ai vidage vidage du dossier
mongodb -d tracking -o dump
Restauration de vidage
mongorestore -d <databasename> <dum_path>
mongorestore -d tracking dump/tracking
Cmd -- >
C:\Program fichiers \ MongoDB \ serveur \ 3.2 \ bin > mongodump.exe --db Dintest
La commande ci-dessous fonctionnera pour prendre dump de Mongo db .
Mongodump-d-o
Sous Windows: essayez celui-ci où c:\mongodump est l'emplacement du fichier de vidage , Il va créer des métadonnées en json et Sauvegarder au format bson
C:\MongoDB\bin > mongodump-d-o c:\mongodump
Ou vous pouvez créer un script de sauvegarde sous Windows, n'oubliez pas D'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 !!!!!
take mongodb backup for particular db and delete 7 days old backup using bin sh command :-
#!/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
Mongodump -h hostname-u dbusername -p dbpassword --db dbname --port port --out /chemin/dossier
Mongodump - h hostname - U dbusername-P dbpassword --db dbname --port portnumber --out / path / folder.gz