Cómo hacer copias de seguridad Raspberry Pi, paso a paso, en local y en la nube.

 Raspberry Pi  |  Backup  |  Disco externo

Copias de Seguridad en Raspberry Pi: Guía Completa

Protege tus datos con backups automáticos en disco externo montado en /mnt/m2/backup-pi/


 ¿Por qué hacer copias de seguridad?



Las tarjetas SD, aunque prácticas y económicas, tienen una vida útil limitada y son propensas a fallos. Si tu Raspberry Pi aloja servicios críticos (servidores web, bases de datos, automatización doméstica, NAS casero), perder la tarjeta SD significa perder semanas o meses de configuración.

Realizar copias de seguridad periódicas en un disco externo conectado por USB o montado vía red garantiza que puedas restaurar tu sistema completo en minutos, sin tener que reconfigurar todo desde cero.

Ventaja clave: Usar un disco externo montado en /mnt/m2/backup-pi/ permite backups automáticos programados sin intervención manual, y la capacidad de restaurar el sistema completo en caso de fallo.

 Preparación: Montar el disco externo

Antes de comenzar con los backups, necesitas tener el disco externo correctamente montado y configurado para que se monte automáticamente al arrancar la Raspberry Pi.

Paso 1: Identificar el disco

$ sudo fdisk -l

Busca tu disco externo (normalmente /dev/sda1 o /dev/sdb1).

Paso 2: Crear el punto de montaje

$ sudo mkdir -p /mnt/m2/backup-pi

Paso 3: Montar el disco

$ sudo mount /dev/sda1 /mnt/m2/backup-pi

Paso 4: Montaje automático con fstab

Para que el disco se monte automáticamente al arrancar, necesitas obtener su UUID:

$ sudo blkid /dev/sda1

Edita el archivo /etc/fstab:

$ sudo nano /etc/fstab

Añade esta línea al final (reemplaza el UUID con el tuyo):

UUID=tu-uuid-aqui /mnt/m2/backup-pi ext4 defaults,nofail 0 2
Buena práctica: La opción nofail permite que el sistema arranque aunque el disco externo no esté conectado, evitando bloqueos en el boot.

 Métodos de backup disponibles

1. rsync (Recomendado)

Copia incremental de archivos. Rápido, eficiente y versátil.

  • Solo copia cambios
  • Preserva permisos
  • Ideal para backups frecuentes

2. dd (Imagen completa)

Clonación bit a bit de la tarjeta SD completa.

  • Backup de bajo nivel
  • Restauración directa
  • Requiere mucho espacio

3. tar (Archivo comprimido)

Comprime el sistema en un archivo .tar.gz.

  • Ahorra espacio
  • Fácil de transferir
  • Restauración manual

⚡ Método 1: Backup incremental con rsync

Este es el método más eficiente para backups regulares. Solo copia los archivos que han cambiado desde el último backup.

Script básico de backup

Crea un script en /usr/local/bin/backup-rpi.sh:

$ sudo nano /usr/local/bin/backup-rpi.sh

Contenido del script:

#!/bin/bash # Script de backup para Raspberry Pi BACKUP_DIR="/mnt/m2/backup-pi" DATE=$(date +%Y-%m-%d_%H-%M-%S) LOG_FILE="$BACKUP_DIR/backup-$DATE.log" # Crear directorio de backup si no existe mkdir -p "$BACKUP_DIR/sistema" # Backup con rsync (excluye directorios temporales y montajes) rsync -aAXv --delete \ --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} \ / "$BACKUP_DIR/sistema/" | tee "$LOG_FILE" # Registrar finalización echo "Backup completado: $(date)" >> "$LOG_FILE"

Dale permisos de ejecución:

$ sudo chmod +x /usr/local/bin/backup-rpi.sh

Ejecuta el backup manualmente:

$ sudo /usr/local/bin/backup-rpi.sh
⚠️ Importante: Las opciones de rsync son críticas. -aAX preserva permisos, propietarios, timestamps y atributos extendidos. --delete elimina archivos en el destino que ya no existen en el origen.

 Método 2: Imagen completa con dd

Crea una copia exacta bit a bit de toda la tarjeta SD. Útil para migraciones o backups completos.

Crear imagen de la SD

$ sudo dd if=/dev/mmcblk0 of=/mnt/m2/backup-pi/raspberrypi-$(date +%Y%m%d).img bs=4M status=progress

Comprimir la imagen (opcional)

$ sudo gzip /mnt/m2/backup-pi/raspberrypi-*.img

Restaurar desde imagen

Desde otro ordenador con Linux o macOS:

$ sudo dd if=/ruta/a/raspberrypi-backup.img of=/dev/sdX bs=4M status=progress $ sudo sync
⚠️ Advertencia: dd crea imágenes del tamaño completo de tu SD (8GB, 16GB, 32GB...). Asegúrate de tener suficiente espacio en el disco externo.

 Método 3: Archivo comprimido con tar

Comprime el sistema completo en un archivo .tar.gz, excelente para transferencias y almacenamiento a largo plazo.

Crear backup comprimido

$ sudo tar -cvpzf /mnt/m2/backup-pi/backup-completo-$(date +%Y%m%d).tar.gz \ --exclude=/mnt \ --exclude=/proc \ --exclude=/sys \ --exclude=/tmp \ --exclude=/dev \ --exclude=/run \ --exclude=/media \ / 2>/dev/null

Restaurar desde archivo tar

# Montar una SD nueva y extraer el backup $ sudo tar -xvpzf /mnt/m2/backup-pi/backup-completo-20260416.tar.gz -C /mnt/nueva-sd/
Ventaja: Los archivos .tar.gz son portables y pueden abrirse en cualquier sistema Linux, macOS o Windows (con herramientas como 7-Zip).

⏰ Automatización con cron

Configura backups automáticos programados usando cron. Así tu Raspberry Pi hará copias de seguridad sin intervención manual.

Editar crontab

$ sudo crontab -e

Ejemplos de programación

Backup diario a las 3:00 AM

0 3 * * * /usr/local/bin/backup-rpi.sh

Backup semanal los domingos a las 2:00 AM

0 2 * * 0 /usr/local/bin/backup-rpi.sh

Backup mensual el día 1 a las 1:00 AM

0 1 1 * * /usr/local/bin/backup-rpi.sh

Verifica que el cron esté activo:

$ sudo systemctl status cron

 Rotación de backups antiguos

Para evitar que el disco externo se llene, puedes eliminar backups antiguos automáticamente. Añade esto al final de tu script de backup:

# Eliminar backups con más de 30 días find $BACKUP_DIR -name "backup-*.log" -type f -mtime +30 -delete find $BACKUP_DIR -name "raspberrypi-*.img.gz" -type f -mtime +30 -delete

 Verificación y restauración

Verificar el backup de rsync

$ ls -lh /mnt/m2/backup-pi/sistema/ $ du -sh /mnt/m2/backup-pi/sistema/

Comprobar logs

$ tail -f /mnt/m2/backup-pi/backup-*.log

Restaurar sistema desde rsync

Si necesitas restaurar el sistema completo desde el backup de rsync:

# Desde una SD nueva o tarjeta montada en /mnt/nueva-sd $ sudo rsync -aAXv /mnt/m2/backup-pi/sistema/ /mnt/nueva-sd/
⚠️ Precaución: Asegúrate de que la SD de destino esté correctamente particionada y formateada antes de restaurar.

✅ Mejores prácticas

  • Prueba la restauración: Un backup que no se puede restaurar no sirve de nada. Verifica periódicamente que puedes recuperar tus datos.
  • Backups múltiples: Considera tener backups en diferentes ubicaciones (disco externo + nube).
  • Monitoriza el espacio: Configura alertas cuando el disco externo esté al 80% de capacidad.
  • Documenta el proceso: Guarda las instrucciones de restauración en un lugar accesible (no solo en la Raspberry Pi).
  • Encripta backups sensibles: Si tus datos son confidenciales, considera usar gpg o cryptsetup para encriptarlos.

Comentarios

Entradas populares de este blog

Cómo Instalar y configurar SERVIDOR VPN WIREGUARD en MIKROTIK 🔐 #VPN #Wireguard #Mikrotik #RouterOS

Cómo instalar y configurar DSM SYNOLOGY 7.2.2 en PC | Guía completa, instalación, RAID 1, SMB

Cómo INSTALAR y CONFIGURAR OpenVPN en MIKROTIK. Guía completa paso a paso.