¿Cómo creo un volcado MongoDB de mi base de datos?


Respuestas:


82

Uso 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

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


44
Para poner los resultados en un solo archivo comprimido, consulte unix.stackexchange.com/questions/93139/…
Donal Lafferty

¿En el servidor mongodb en qué lugar se almacenará la base de datos?
espacio tierra

157

Para volcar su base de datos para respaldo, llame a este comando en su terminal

mongodump --db database_name --collection collection_name

Para importar su archivo de respaldo a mongodb puede usar el siguiente comando en su terminal

mongorestore --db database_name path_to_bson_file

2
¿Cuál es el significado de metadata.json para la restauración?
Nabin

103

También puede usar gzippara realizar copias de seguridad de una colección y comprimir la copia de seguridad sobre la marcha:

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

o con una fecha en el nombre del archivo:

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

Actualización:
haga una copia de seguridad de todas las colecciones de una base de datos en una carpeta de fecha. Los archivos están gziped:

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

O para un solo archivo:

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

O cuando mongodb se está ejecutando dentro de la ventana acoplable:

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

1
dice: ERROR: ¡no sé qué hacer con el archivo! Gunizpped e intentó `mongorestore --db db_name 'gunzipped file'
amitchhajer

2
error tipográfico: "-db" => "--db"
Vivien

77
En la versión 3.2 mongodumpo superior, puede usar la --gzipopción para hacer eso: mongodump_manpage y la misma opción para mongorestore
Boop,


1
@Pyrejkee, mejor haz nuevas preguntas para estas cosas en lugar de un comentario. (la fecha en Windows es muy diferente)
r03

68

Este comando hará un volcado de la base de datos dada en formato json y bson.

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

14

Hay una utilidad llamada: mongodump En la línea de comando de mongo puede escribir:

>./mongodump

Lo anterior creará un volcado de todas las bases de datos en su host local. Para hacer un volcado de una sola colección, use:

./mongodump --db blog --collection posts

Echa un vistazo a: mongodump


11

Debe abrir el símbolo del sistema como administrador en una carpeta donde está instalado su Mongo (en mi caso: C: \ Archivos de programa \ MongoDB \ Server \ 3.4 \ bin). Si desea volcar toda su base de datos, puede usar:

mongodump --db database_name

También tiene la posibilidad de volcar solo ciertas colecciones, o volcar todas las colecciones excepto ciertas.

Si desea volcar solo una colección (por ejemplo, usuarios):

mongodump  --db database_name --collection users

Si desea volcar todo menos la colección de usuarios:

mongodump  --db database_name --excludeCollection=users

También es posible enviar el volcado a un archivo comprimido:

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

10

Copia de seguridad / Restaurar Mongodb con tiempo.

Apoyo:

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

--db argumento para el nombre de databse

--out argumento para la ruta de salida

Restaurar:

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

--drop argumento para soltar databse antes de restaurar

Sincronización:

Puede usar crontab para la copia de seguridad del tiempo:

sudo crontab -e

Se abre con el editor (por ejemplo, nano)

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

copia de seguridad todos los días a las 03:03 a.m.

Dependiendo de los tamaños de su base de datos MongoDB, es posible que pronto se quede sin espacio en disco con demasiadas copias de seguridad. Es por eso que también se recomienda limpiar las copias de seguridad antiguas regularmente o comprimirlas. Por ejemplo, para eliminar todas las copias de seguridad anteriores a 7 días, puede usar el siguiente comando bash:

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

eliminar todas las copias de seguridad anteriores a 7 días

Buena suerte.

ref: https://www.digitalocean.com/community/tutorials/how-to-back-up-restore-and-migrate-a-mongodb-database-on-ubuntu-14-04


8

Puede volcar su base de datos y restaurar con el siguiente comando

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

por ejemplo, mi nombre de base de datos está rastreando tengo volcado en la carpeta de volcado

mongodb  -d tracking -o dump

Restaurando el basurero

mongorestore -d <databasename> <dum_path>

mongorestore -d tracking  dump/tracking

8

El siguiente comando se conecta al servidor remoto para volcar una base de datos:

<> los parámetros opcionales los usan si los necesita

  • host - puerto de nombre de host
  • nombre de usuario del puerto de escucha
  • nombre de usuario de db db
  • db nombre ssl
  • conexión segura
  • salida a una carpeta creada con un nombre

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


Para aquellos que reciben este error después de ejecutar las opciones de línea de comando de análisis de consulta sugeridas: opción desconocida "ssl". Intente ejecutar la consulta anterior después de eliminar --ssl. funcionó para mí. Gracias.
Anurag_BEHS


2

Si su base de datos en el sistema local. Luego escribe el siguiente comando. para terminal Linux

mongodump -h SERVER_NAME:PORT -d DATABASE_NAME

Si el usuario y la contraseña de la base de datos están ahí, entonces el código que figura debajo

mongodump -h SERVER_NAME:PORT -d DATABASE_NAME -u DATABASE_USER -p PASSWORD

Esto funcionó muy bien en mi terminal Linux.


1

El siguiente comando funcionará para descargar volcado de mongo db.

mongodump -d -o

En Windows: pruebe este en el que c: \ mongodump es la ubicación del archivo de volcado, creará metadatos en json y copia de seguridad en formato bson

C: \ MongoDB \ bin> mongodump -d -oc: \ mongodump


1

exportar

mongodump -d <database name> <backup-folder>

importar

mongorestore -d <database name> <backup-folder>

0

O puede hacer un script de respaldo en Windows, recuerde agregar Winrar a% 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

Mongo volcar y restaurar con uri a local

mongodump --uri "mongodb: // NOMBRE DE USUARIO: CONTRASEÑA @ IP_OR_URL: PORT / DB_NAME" - colección COLLECTION_NAME -o LOCAL_URL

Si no especifica --colletion COLLECTION_NAME, volcará toda la base de datos.


0

tome la copia de seguridad de mongodb para una base de datos particular y elimine la copia de seguridad de 7 días usando el comando 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
 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

use "ruta" para windows. De lo contrario, da el error como: argumentos posicionales no permitidos


-4

mongodump -h hostname -u dbusername -p dbpassword --db dbname --port portnumber --out / path / folder

mongodump -h hostname -u dbusername -p dbpassword --db dbname --port portnumber --out /path/folder.gz


1. mongodump: es un comando para crear un volcado de mongo junto con la necesidad de información sobre la especificación. 2. -h representa tu nombre de host mongodb. 3. -u representa tu nombre de usuario mongodb. 4. -p representa la contraseña. 5. --db representa el nombre de la base de datos que necesitamos para volcar. 6. --port representa el puerto que está ejecutando tu mongo. 7. --out representa el destino de tu volcado con nombre.
Anjankumar HN
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.