Mongodump
Mongodump creará ficheros bson grabando todos los datos de un mongod. Se puede usar con la sintaxis:mongodump --host mongodb.example.net --port 27017
En el caso de conexión local podemos hacer simplemente mongodump En cualquier caso creará una carpeta dump (se puede cambiar con --out). La carpeta tendrá una subcarpeta por cada base de datos, incluyendo una para admin (y excluyendo la base de datos local).
Si se quiere hacer una copia de seguridad de solo una base de datos se puede usar la opción --db base de datos, y si dentro de la base de datos se quiere especificar una colección se usará --collection.
mongodump --collection cromos --db aficionesinfantiles
Si queremos podemos grabar la información comprimida añadiendo --gzip.
Otra opción interesante es --query <json>: permite grabar solo los documentos que devuelve la query, que debe incluirse entre comillas simples. La query también peude incluirse en un fichero y en ese caso se usará la opción --queryFile <path>
Un ejemplo;
mongodump --collection cromos --db infantil --query '{"_id":"patrulla canina"}' --out cromosquery
En cualquier la información grabada se puede consutar usando:
bsondump fichero_dump
Mongorestore
Recupera un fichero creado con mongodump. Admite prácticamente los mismos argumentos, (exceptuando --query o --queryFile), añadiendo al final el nombre del fichero .bson.
Por defecto, mongorestore no "borra" las bases de datos y colecciones ya existentes; simplemente añade la nueva información. Si se quiere borrar previamente hay que añadir la opción --drop.
En el caso de haber usado compresión al hacer el dump se debe recuperar usando la opción --gzip:
mongorestore --gzip --archive=test.20150715.gz --db testaunque también se puede hacer directamente a través del sistema operativo:
zcat /opt/backup/mongodump-2014-12-03/accounts.people.bson.gz | mongorestore --collection people --db accounts -Mongoimport
Mongoimport: Permite importar ficheros en formato CSV, TSV o JSON. Un ejemplo:
mongoimport --db test --collection restaurants --drop --stopOnError --file primer-dataset.json
Importa el fichero (--file) primer-dataset.json dentro de la base de datos (--db) test, en particular como parte de la colección (--collection) restaurants. La colección será borrada primero (--drop) si ya existe. La importación parará si se encuentra un error (--stopOnError)
Mongoexport
Sirve para exportar ficheros en JSON or CSV, que luego se importarán con mongoimport
Este sistema es muy útil para colecciones sencillas o como interfaz con otras herramientas, pero el paso de BSON a JSON puede implicar pérdida de datos (por ejemplo fechas), y por tanto no se recomiendo para copias de seguridad.
Sistema de ficheros
Se trata de hacer copia de los directorios data. En otras bases de datos este sistema no es seguro; además de las carpetas con datos del usuario existen otras con diccionarios de datos etc, y copiar solo los directorios de datos del usuario puede conducir a incoherencias tras la recuperación en mongo no hay problema: si nos llevamos el directorio de datos podemos recuperarlo y la base de datos volverá al mismo estado (esto es cierto en loca, no tanto en conjuntos réplica o en sistemas con sharding).
Backup desde los secundarios
Sistema utilizado en conjuntos de réplica. La idea es que en un conjunto réplica se puede desconectar un secundario, hacer una copia de seguridad y luego volver a activarlo. Esto evita tener que parar el sistema durante la grabación. La administracion automática de los conjuntos de réplica haran que el servidor se "ponga al día" en poco tiempo.
No hay comentarios.:
Publicar un comentario