Quelle commande dois-je utiliser et exécuter?
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
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
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
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>
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
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
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
sortie dans un dossier créé avec un nom
mongodump --Host --port --username --db --ssl --password --out _date + "% Y-% m-% d"
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
cmd ->
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
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.
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.
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 !!!!!
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
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