¿Qué Aprenderás?

  • Introducción a Duplicity
  • Instalación de Duplicity
  • Configuración de backups con la política abuelo-padre-hijo
  • Configuración de backups a cinta
  • Configuración de una copia secundaria en Amazon S3
  • Checklist para la gestión de backups
  • Errores comunes y cómo evitarlos

Introducción

Duplicity es una herramienta poderosa y versátil para realizar backups en sistemas Linux. En este artículo, aprenderás a configurar Duplicity para realizar backups en cintas utilizando una política de rotación abuelo-padre-hijo (GFS). También aprenderás cómo configurar una segunda copia de seguridad en Amazon S3 para garantizar que tus datos estén protegidos en múltiples ubicaciones.

Instalación de Duplicity

Antes de comenzar, asegúrate de tener Duplicity instalado en tu sistema. En distribuciones basadas en Debian/Ubuntu, puedes instalarlo con:

sudo apt update
sudo apt install duplicity

Para distribuciones basadas en Red Hat/CentOS, usa:

sudo yum install duplicity

Configuración de Backups con la Política Abuelo-Padre-Hijo

La política abuelo-padre-hijo es un esquema de rotación de backups que utiliza tres niveles de backups: diarios, semanales y mensuales.

Ejemplo de Script para Backups Diarios

Crea un script para realizar backups diarios:

#!/bin/bash
export PASSPHRASE='tu-passphrase'
BACKUP_DIR='/ruta/de/origen'
TARGET_DIR='file:///ruta/a/la/cinta'

duplicity --full-if-older-than 1W $BACKUP_DIR $TARGET_DIR/daily
duplicity remove-older-than 1W --force $TARGET_DIR/daily

Ejemplo de Script para Backups Semanales

Crea un script para realizar backups semanales:

#!/bin/bash
export PASSPHRASE='tu-passphrase'
BACKUP_DIR='/ruta/de/origen'
TARGET_DIR='file:///ruta/a/la/cinta'

duplicity --full-if-older-than 1M $BACKUP_DIR $TARGET_DIR/weekly
duplicity remove-older-than 3M --force $TARGET_DIR/weekly

Ejemplo de Script para Backups Mensuales

Crea un script para realizar backups mensuales:

#!/bin/bash
export PASSPHRASE='tu-passphrase'
BACKUP_DIR='/ruta/de/origen'
TARGET_DIR='file:///ruta/a/la/cinta'

duplicity --full-if-older-than 1Y $BACKUP_DIR $TARGET_DIR/monthly
duplicity remove-older-than 1Y --force $TARGET_DIR/monthly

Configuración de Cron Jobs

Para automatizar estos scripts, añade entradas en el crontab:

crontab -e

Añade las siguientes líneas:

# Backups diarios
0 2 * * * /ruta/al/script/daily-backup.sh

# Backups semanales (cada domingo a las 3 AM)
0 3 * * 0 /ruta/al/script/weekly-backup.sh

# Backups mensuales (el primer día del mes a las 4 AM)
0 4 1 * * /ruta/al/script/monthly-backup.sh

Si quieres más información sobre cron y crontab visita automatizando tareas con cron y anacron

Configuración de una Copia Secundaria en Amazon S3

Configuración de Credenciales

Configura tus credenciales de AWS:

export AWS_ACCESS_KEY_ID='tu-access-key-id'
export AWS_SECRET_ACCESS_KEY='tu-secret-access-key'

Ejemplo de Script para Backups en S3

Crea un script para realizar backups en S3:

#!/bin/bash
export PASSPHRASE='tu-passphrase'
export AWS_ACCESS_KEY_ID='tu-access-key-id'
export AWS_SECRET_ACCESS_KEY='tu-secret-access-key'
BACKUP_DIR='/ruta/de/origen'
TARGET_DIR='s3://nombre-de-tu-bucket'

duplicity --full-if-older-than 1W $BACKUP_DIR $TARGET_DIR/daily
duplicity remove-older-than 1W --force $TARGET_DIR/daily

Configuración de Cron Job para S3

Añade una entrada en el crontab para automatizar este script:

crontab -e

Añade la siguiente línea:

# Backups diarios a S3
0 2 * * * /ruta/al/script/daily-backup-s3.sh

Checklist para la Gestión de Backups

  • Monitoreo Regular: Verifica los logs de los scripts de backup para asegurar que se están ejecutando correctamente.
  • Pruebas de Restauración: Realiza restauraciones periódicas para asegurarte de que los backups son funcionales.
  • Verificación de Espacio: Monitorea el espacio en las cintas y en S3 para evitar problemas de almacenamiento.
  • Actualización de Scripts: Mantén los scripts actualizados y revisa las configuraciones de Duplicity y AWS.

Errores Comunes y Cómo Evitarlos

  • Olvidar Credenciales: Asegúrate de exportar correctamente las credenciales de AWS antes de ejecutar los scripts.
  • Permisos Incorrectos: Verifica que los scripts tengan permisos de ejecución y que los directorios de destino sean accesibles.
  • No Verificar Backups: Regularmente verifica que los backups se están realizando y que los archivos están completos y accesibles.

Conclusión

Duplicity es una herramienta poderosa para realizar backups en Linux, y con la configuración adecuada, puedes asegurarte de que tus datos estén protegidos tanto localmente como en la nube. Siguiendo esta guía, podrás implementar una estrategia de backups robusta y eficiente, utilizando la política abuelo-padre-hijo y respaldos en Amazon S3.

Enlaces Relacionados