La pérdida de datos en servidores de producción puede destruir la reputación de una empresa y causar enormes perjuicios financieros. Aunque los proveedores de VPS ofrecen snapshots de disco, contar con copias de seguridad independientes y almacenadas fuera del servidor de origen es una regla de oro de la infraestructura.
En esta guía, enseñamos cómo crear una rutina automatizada de copia de seguridad de archivos y bases de datos hacia el almacenamiento en la nube Amazon S3 (o cualquier object storage compatible, como MinIO o Backblaze).
1. Configurando las Credenciales (AWS CLI)
La herramienta recomendada para interactuar con S3 desde la terminal de Linux es AWS CLI.
Instalación y Configuración:
1. Instale el paquete: `sudo apt install awscli -y` 2. Cree una clave de acceso (Access Key y Secret Key) en la consola de AWS a través del servicio IAM, limitando los permisos únicamente a acciones en el bucket de copia de seguridad deseado. 3. Configure las credenciales en el servidor Linux ejecutando: `aws configure`2. Escribiendo el Script de Copia de Seguridad
Cree un script en bash para automatizar el volcado (dump) de la base de datos (en este ejemplo, PostgreSQL) y la compresión de la carpeta de archivos estáticos.
```bash
#!/bin/bash
Configuraciones
BACKUP_DIR="/tmp/backups" BUCKET_NAME="mi-bucket-de-backup-seguro" DATA=$(date +%Y-%m-%d-%H%M)Crear carpeta temporal
mkdir -p $BACKUP_DIR1. Copia de Seguridad de la Base de Datos
pg_dump -U postgres mi_base_datos > $BACKUP_DIR/db_$DATA.sql2. Compresión de los archivos de la aplicación
tar -czf $BACKUP_DIR/archivos_$DATA.tar.gz /var/www/mi-app3. Envío cifrado a S3
aws s3 cp $BACKUP_DIR/db_$DATA.sql s3://$BUCKET_NAME/db_$DATA.sql --sse AES256 aws s3 cp $BACKUP_DIR/archivos_$DATA.tar.gz s3://$BUCKET_NAME/archivos_$DATA.tar.gz --sse AES256Limpieza de archivos locales temporales
rm -rf $BACKUP_DIR ```3. Automatizando con Cron Job
Para ejecutar el script automáticamente todas las noches (a las 02:00 de la mañana):
1. Abra las tareas programadas del sistema:
`sudo crontab -e`
2. Agregue la línea al final del archivo:
`0 2 * * * /home/usuario/scripts/backup.sh > /dev/null 2>&1`
Conclusión
Contar con políticas de copia de seguridad automatizadas y almacenadas fuera de la infraestructura de origen es indispensable. Configurando el cifrado a nivel de S3 y monitoreando la ejecución de estos scripts, su negocio estará totalmente protegido contra eliminaciones accidentales, desastres de hardware o ataques cibernéticos.