Comunidad de diseño web y desarrollo en internet online

Realiza backups automáticos para MongoDB con Zoort

En Mejorando.la hacemos hincapié en la protección de datos y en caso de desastre recuperarnos sin que el usuario se vea afectado. Nuestras bases de datos se encuentran distribuidas en distintas tecnologías para aprovechar las bondades de cada una, y una de esas tecnologías es MongoDB, y con la ayuda del Dev Team se creó un script para facilitar todo el tema de respaldos en MongoDB con protección de cada dump.



Todo ser vivo en el planeta tierra que guarde información importante en cualquier medio, debe tener la precaución de respaldar dicha información por si ocurre algún desastre; en el caso de medios electrónicos la mayoría de la información se almacena en grandes bases de datos relacionales o no relacionales.

Respalda tus bases de datos con Zoort


Zoort nace como un proyecto interno de la empresa, que ahora es de código abierto y nos ayuda a realizar respaldos de todas las bases de datos existentes en MongoDB, y ustedes dirán, "Pero MongoDB tiene ya herramientas que hacen eso", y sí, es cierto, pero requeríamos funcionalidades mas avanzadas como compresión, cifrado y subida del DUMP a AWS, y se ha logrado con Zoort.

Características de Zoort



  • Opción de respaldo para una sola base de datos o todas las bases de datos contenidas en el servidor.
  • Cifrado y descifrado por defecto con tecnología AES para archivos comprimido.
  • Subida a S3 de Amazon Web Services. (Opcional)
  • Elimina respaldos antiguos, por defecto 2 semanas atrás en S3.
  • Configurable a través de un archivo JSON.


Instalación y configuración de Zoort


Por los momentos Zoort solo funciona bien en sistemas *NIX like, como Linux, Unix, Mac, etc. Si desean compatibilidad para Windows pueden realizar el aporte al repositorio en GitHub https://github.com/Mejorandola/zoort.

Para instalar Zoort se puede hacer a través de PIP con:

Código :

# pip install zoort


o descargando el código fuente y ejecutando:

Código :

# python setup.py install
.

La configuración se hace a través de un archivo JSON que se encuentra en /etc/zoort/config.json y tiene un contenido como el siguiente:

Código :

{
    "admin_user": "<admin_user>",
    "admin_password": "<admin_password>",
    "password_file": "<password_file>",
    "aws": {
        "aws_access_key": "<aws_access_key>",
        "aws_secret_key": "<aws_secret_key>",
        "aws_bucket_name": "<aws_bucket_name>",
        "aws_key_name": "<aws_key_name>"
    }
}


Los parámetros de configuración son los siguientes:
  • admin_user: Usuario administrador de MongoDB
  • admin_password: Contraseña del adminsitrador de MongoDB
  • password_file: Contraseña utilizada para el cifrado de los archivos. (Importante que sea bastante fuerte)
  • aws: En el caso que deseen usar S3 deben especificar la llave de acceso, la llave secreta, el nombre del bucket en S3 y el prefijo que desea tener en S3 para los archivos.


Cómo usar Zoort?


El uso de Zoort es sencillo, todo se hace a través de consola y el nombre del comando es zoort y es acompañado con algunas opciones, como backup, backup_all o decrypt .

Código :

zoort

Usage:
  zoort backup <database> [--path=<path>] [--upload_s3=<s3>] [--encrypt=<encrypt>]
  zoort backup <database> <user> <password> [--path=<path>] [--upload_s3=<s3>] [--encrypt=<encrypt>]
  zoort backup <database> <user> <password> <host> [--path=<path>] [--upload_s3=<s3>] [--encrypt=<encrypt>]
  zoort backup_all <user_admin> <password_admin> [--path=<path>] [--upload_s3=<s3>] [--encrypt=<encrypt>]
  zoort decrypt <path>
  zoort --version
  zoort --help

Options:
  -h --help           Show this screen.
  --version           Show version.
  --path=<path>       Path target for the dump. [default: pwd].
  --upload_s3=<s3>    Upload to AWS S3 storage. [default: N].
  --encrypt=<encrypt> Encrypt output file dump before upload to S3. [default: Y]


Para ver la ayuda en línea de comandos debe ejecutar:

Código :

$ zoort --help 


De esta manera verán todos los casos posibles para el uso de Zoort.

Licencia


Zoort posee licencia MIT, por lo tanto puede ser usado, compartido y modificado sin ningún problema. Pueden realizar aportes importantes si así lo desean al repositorio principal de Github. o en PyPI.

¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.

Publica tu comentario

El autor de este artículo ha cerrado los comentarios. Si tienes preguntas o comentarios, puedes hacerlos en el foro

Entra al foro y participa en la discusión

o puedes...

¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?

¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?

Registrate