¿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.