Encontranos en redes
BackupsRsyncAutomatización8 min de lectura
Configurar backups automáticos con rsync
Automatizá backups incrementales con rsync y cron para proteger tus datos en un servidor remoto.
rsync permite hacer copias incrementales eficientes: solo transfiere los archivos que cambiaron. Combinado con cron, tenés backups automáticos sin intervención.
Paso 1 — Instalar rsync
bash
sudo apt update
sudo apt install rsync -yPaso 2 — Configurar claves SSH sin contraseña
Para que el backup corra sin intervención:
bash
ssh-keygen -t ed25519 -f ~/.ssh/backup_key -N ""
ssh-copy-id -i ~/.ssh/backup_key.pub usuario@SERVIDOR_BACKUPPaso 3 — Crear el script de backup
Creá /usr/local/bin/backup.sh:
bash
#!/bin/bash
FECHA=$(date +%Y-%m-%d_%H%M)
ORIGEN="/var/www /home /etc"
DESTINO="usuario@SERVIDOR_BACKUP:/backups/mi-vps/"
LOG="/var/log/backup-$FECHA.log"
echo "Inicio backup: $FECHA" > $LOG
for dir in $ORIGEN; do
rsync -avz --delete \
-e "ssh -i /root/.ssh/backup_key" \
$dir $DESTINO \
>> $LOG 2>&1
done
echo "Fin backup: $(date)" >> $LOGDale permisos:
bash
sudo chmod +x /usr/local/bin/backup.shPaso 4 — Programar con cron
bash
sudo crontab -eAgregá (backup diario a las 3 AM):
terminal
0 3 * * * /usr/local/bin/backup.shPaso 5 — Backup con retención por fecha
Para mantener backups históricos:
bash
#!/bin/bash
FECHA=$(date +%Y-%m-%d)
DESTINO="usuario@SERVIDOR_BACKUP:/backups/mi-vps/$FECHA/"
rsync -avz --delete \
-e "ssh -i /root/.ssh/backup_key" \
/var/www/ $DESTINOPaso 6 — Verificar backups
bash
# Simulación sin transferir (dry-run)
rsync -avzn --delete /var/www/ usuario@SERVIDOR_BACKUP:/backups/test/
# Ver último log
ls -lt /var/log/backup-*.log | head -1 | xargs catOpciones útiles de rsync
bash
--exclude='*.log' # Excluir archivos
--exclude='node_modules' # Excluir directorios
--bwlimit=5000 # Limitar ancho de banda (KB/s)
--compress # Comprimir durante transferenciaCon esta configuración, tu VPS de Baires Host mantiene copias seguras automáticas en un servidor externo.
¿Te resultó útil esta guía?