Páginas

28 septiembre, 2019

Backups: Sincronizar datos locales a un bucket de Amazon S3 usando AWSCLI en PowerShell y Bash

Hace tiempo que vengo usando este método de realizar mis backups personales, aunque siendo correctos, por definición no se trata realmente del concepto de "Backups" sino de un sistema de sincronización. Si usando el mismo método almacenara copias durante un periodo de tiempo determinado con una autoeliminación de los backups más viejos, es decir una política de retención donde haiga la posibilidad de disponer de puntos de restauración dentro de las fechas establecidas en la política de retención, así como la posibilidad de almacenar un histórico de copias en frio en fechas más viejas. En ese caso si estaríamos aplicando el concepto de backup.

Esta es una forma sincronizar datos en dos sitios o ubicaciones distintas. Por un lado tenemos los datos locales que queremos salvaguardar y por otro un sitio cloud donde realizaremos la sincronización de dichos datos en un momento programado y definido previamente para que se realice después de manera automática.

Se trata de scripts de PowerShell y Bash Shell Script, compatibles en entornos Windows, Linux y MacOS, para sincronizar datos locales a un bucket S3 (Simple Storage Service) de Amazon Web Services a través de la interfaz de línea de comandos de AWSCLI (serverless). Donde se realiza un push de datos locales a una ubicación remota en un bucket de almacenamiento de Amazon S3.

En mí repositorio personal de Gihub comento en más detalle el procedimiento a seguir e iré actualizándolo con mejoras cuando proceda.
PowerShell
  • Funciones específicas para montar y desmontar unidades externas USB donde se almacenarán las copias de Veeam Backup.
  • Realizar compresiones 7zip cifrada de forma simétrica, usando adicionalmente un método de capas de ficheros comprimidos para almacenar la BBDD + key file de KeePassXC.
  • Sincronizar con AWS CLI los datos locales con el objeto (carpeta/directorio) del bucket S3.
  • Generar un fichero log de todo el proceso.
  • Enviar el fichero de log vía Email.
  • Enviar el fichero de log, contenido en formato de mensaje o ambas vía ChatBot de Telegram.
Bash Shell Script
  • Generar un fichero log de todo el proceso.
  • Sincronizar los datos locales con el objeto (carpeta/directorio) del bucket S3 usando AWSCLI.
  • Enviar el fichero de log vía Email desde el smtp de una cuenta de correo Gmail configurado en SSMTP.
Saludos!

No hay comentarios

Publicar un comentario

Entradas Populares