Skip to content

solop-develop/bkp-s3-bucket

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

BKP-S3 - Gestor de Backups en DigitalOcean Spaces

Sistema para gestionar y descargar backups desde DigitalOcean Spaces (S3-compatible).

Configuración

Archivo de credenciales: sp-s3-buckets

Contiene las credenciales para conectarse a DigitalOcean Spaces:

  • Región: NYC3 (Nueva York)
  • Bucket de backups: s3://sp-backups
  • Tool: s3cmd

Archivo de configuración: backup-config.properties

Todas las variables del script están parametrizadas en este archivo:

# Configuración de S3
S3_BUCKET=s3://sp-backups
ENTORNO=production              # production, develop, etc.
CONFIG_FILE=./sp-s3-buckets

# Configuración de destino
DESTINO_LOCAL=./backups-recientes

# Configuración de logs
LOG_FILE=./descargar-backups.log
VERBOSITY=INFO                  # WARNING, INFO, DEBUG

Modificar la configuración:

# Editar el archivo
nano backup-config.properties

# Cambiar por ejemplo el entorno:
ENTORNO=develop

# Ejecutar el script (usará la nueva configuración)
./download-recent-backups.sh

El script funciona con valores por defecto si el archivo no existe.

Scripts Disponibles

download-recent-backups.sh

Descarga automáticamente el backup más reciente de cada cliente desde el bucket S3.

Características:

  • Recorre todos los directorios de clientes en s3://sp-backups/production/
  • Identifica el archivo más reciente de cada cliente (por fecha de modificación)
  • Descarga cada backup en ./backups-recientes/[cliente]/
  • Descarga archivos .backup + .md5 + .txt
  • Elimina backups anteriores: Borra automáticamente el backup previo de cada cliente antes de descargar el nuevo
  • Valida integridad con MD5: Verifica que el archivo descargado no esté corrupto
  • Genera logs detallados en descargar-backups.log
  • Muestra progreso con colores y resumen final
  • Soporta descarga de cliente específico o todos los clientes

Uso:

# Descargar todos los clientes
./download-recent-backups.sh

# Descargar solo un cliente específico
./download-recent-backups.sh cgm
./download-recent-backups.sh mabi

Uso con disco externo:

Para guardar los backups directamente en un disco externo, simplemente ejecuta el script desde el disco:

# 1. Copiar el proyecto al disco externo
cp -r /home/raulo/Desarrollo/workspace/repos-varios/bkp-s3 /media/usuario/MiDisco/

# 2. Ejecutar desde el disco externo
cd /media/usuario/MiDisco/bkp-s3
./download-recent-backups.sh solop

# Los backups se guardan en: /media/usuario/MiDisco/bkp-s3/backups-recientes/

Opcional - Crear alias para acceso rápido:

# Agregar a ~/.bashrc o ~/.bash_aliases
alias backup-s3='cd /media/usuario/MiDisco/bkp-s3 && ./download-recent-backups.sh'

# Uso:
backup-s3           # Descargar todos
backup-s3 solop     # Descargar cliente específico

Estructura de salida:

backups-recientes/
├── cliente1/
│   └── backup-2025-12-22.sql.gz
├── cliente2/
│   └── backup-2025-12-22.tar.gz
└── cliente3/
    └── backup-2025-12-22.sql.gz

Requisitos

  • s3cmd instalado en el sistema:
    sudo apt install s3cmd

Seguridad

⚠️ IMPORTANTE: El archivo sp-s3-buckets contiene credenciales sensibles. Asegúrate de:

  • No subirlo a repositorios públicos
  • Mantener permisos restrictivos: chmod 600 sp-s3-buckets
  • No compartir las credenciales

Modo s3path: Descarga desde Ruta S3 Personalizada

El script soporta dos modos de operación:

  • Modo standard: Descarga por nombre de cliente desde estructura predefinida (modo actual)
  • Modo s3path: Descarga desde cualquier ruta S3 personalizada

Configuración del Modo s3path

Para descargar backups desde cualquier bucket/ruta S3, editar backup-config.properties:

# Activar modo s3path
DOWNLOAD_MODE=s3path

# Especificar ruta S3 completa
S3_CUSTOM_PATH=s3://mi-otro-bucket/produccion/backups/

# (Opcional) Nombre del subdirectorio de destino
# Si se omite, se extraerá automáticamente del nombre del bucket
CUSTOM_BUCKET_NAME=mi-otro-bucket

Uso del Modo s3path

./download-recent-backups.sh

Los backups se guardarán en: ./backups-recientes/mi-otro-bucket/

Características:

  • Descarga el archivo .backup más reciente de la ruta especificada
  • Incluye archivos .md5 y .txt si existen
  • Valida integridad MD5
  • Elimina backups anteriores automáticamente

Cambiar entre Modos

Para volver al modo standard (por nombre de cliente):

# Editar backup-config.properties
DOWNLOAD_MODE=standard

Para usar modo s3path con ruta personalizada:

# Editar backup-config.properties
DOWNLOAD_MODE=s3path
S3_CUSTOM_PATH=s3://otro-bucket/ruta/completa/

Logs

Todos los scripts generan logs en descargar-backups.log con timestamps y detalles de cada operación.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages