Respaldos avanzados en 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 http://ift.tt/1gXr8aW.

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.

Enviar comentario

via Cristalab http://ift.tt/1gXr6js

Advertisements

Tags:

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: