Introducción

Elegir una herramienta de backup en Linux no es solo una decisión técnica, sino una que impacta directamente en la disponibilidad y recuperación de datos. El problema no es la falta de opciones, sino la sobrecarga de alternativas que no siempre se ajustan al caso de uso específico: ¿un usuario de escritorio con GNOME, un sysadmin con una flota de servidores, o un equipo que necesita backups centralizados? Cada escenario requiere un enfoque distinto.

Por ejemplo, un backup de escritorio con Déjà Dup no tiene nada que ver con la gestión de backups de un NAS con BorgBackup o la orquestación de una flota de servidores con UrBackup. La elección correcta depende de factores como el tipo de datos (archivos personales vs. imágenes de sistema), la infraestructura (local, NAS, cloud) y el nivel de automatización requerido. En este artículo, analizamos seis herramientas clave, sus casos de uso ideales, y cómo integrarlas con sistemas modernos como systemd, cron y clouds públicos.

Qué ocurrió

En los últimos años, el ecosistema de backup en Linux evolucionó para soportar no solo backups locales, sino también flujos de trabajo cloud-native con almacenamiento en S3, Azure Blob y Backblaze B2. Esta transición fue impulsada por dos factores principales:

  1. La adopción masiva de clouds públicos: Herramientas como Restic y Kopia ahora soportan nativamente destinos como S3-compatible, Azure Blob y Google Cloud Storage, reemplazando a soluciones locales limitadas por capacidad.
  2. La necesidad de deduplicación y cifrado: Proyectos como BorgBackup y Restic incorporaron deduplicación basada en contenido, compresión y cifrado autenticado desde el primer backup, reduciendo costos de almacenamiento y ancho de banda.

Además, herramientas como UrBackup surgieron para resolver un problema específico: la gestión centralizada de backups en flotas de servidores o estaciones de trabajo, algo que ninguna otra opción en esta lista resuelve de forma nativa.

Impacto para DevOps / Infraestructura / Cloud / Seguridad

Desde la perspectiva de DevOps y SRE, la elección de una herramienta de backup afecta directamente a:

  • Disponibilidad: La capacidad de restaurar sistemas críticos en minutos u horas define el SLA de la organización. Herramientas como Timeshift o Clonezilla (aunque no siempre funcionen en todos los escenarios) apuntan a reducir el tiempo de recuperación, pero no son escalables para flotas.
  • Seguridad: El 73% de los incidentes de ransomware en 2023 comenzaron con backups comprometidos o inexistentes (fuente: ISC SANS). Herramientas como Kopia y Restic cifran los datos en tránsito y en repositorio, pero requieren configuración manual de políticas de rotación y acceso.
  • Costos: Almacenar 1TB de backups en S3 Standard cuesta $23/mes (precio listado en 2024), mientras que en Wasabi es $6/mes para el mismo volumen. Usar deduplicación (como en BorgBackup) puede reducir este costo hasta en un 40% para datos con alta redundancia.
  • Automatización: Un cron mal configurado o un systemd timer sin monitoreo puede fallar silenciosamente. En entornos productivos, herramientas como UrBackup o MSP360 (con soporte para sistema de colas) reducen este riesgo al centralizar la gestión.

Para equipos de infraestructura, el impacto es aún mayor: una herramienta que no se integre con systemd, no soporte backups incrementales o requiera intervención manual para restauraciones, puede convertirse en un cuello de botella.

Detalles técnicos

1. Déjà Dup (GNOME)

  • Versión estable: 44.0 (Ubuntu 23.10, Fedora 39).
  • Backend: Restic desde la versión 42 (antes usaba Duplicity).
  • Destinos soportados: Google Drive, OneDrive, servidores de red (NAS), carpetas locales, o cualquier destino compatible con RClone (ej: S3, Backblaze B2).
  • Limitaciones: Solo backups de archivos de usuario (no backups de sistema completos). Para esto, se recomienda Timeshift (que usa rsync o Btrfs como backend).
  • Ejemplo de uso:
  # Instalación en Ubuntu/Debian
  sudo apt install deja-dup

  # Configuración de destino (ej: S3 vía RClone)
  rclone config  # Crear un remote para tu bucket S3
  deja-dup --backup-location=rclone://remote:bucket/backups
  
  • Automatización: Usa cron o systemd timers internamente, pero no expone la configuración directamente al usuario.

2. Kopia (Multiplataforma)

  • Versión estable: 0.14.0 (marzo 2024).
  • Arquitectura: CLI + GUI opcional (KopiaUI). Repositorios cifrados con AES-256-GCM y soporte para deduplicación.
  • Destinos: S3-compatible, Azure Blob, Backblaze B2, Google Cloud Storage, SFTP, WebDAV, y almacenamiento local/NAS.
  • Licencia: Open source (Apache 2.0), sin restricciones para uso comercial.
  • Ejemplo de política:
  # Ejemplo de configuración de snapshot (kopia policy set)
  kopia policy set --keep-latest 7 --keep-hourly 24 --keep-daily 7 \
    --compression zstd --encryption AES-256-GCM \
    repo:/mnt/backups/mi-sistema
  
  • Cifrado: Cada snapshot tiene su propio conjunto de claves derivadas de una contraseña maestra.

3. BorgBackup (Sysadmins / Homelabs)

  • Versión estable: 1.3.0 (febrero 2024), con soporte para Python 3.11+.
  • Características clave:
– Deduplicación basada en contenido (hash de chunks).

– Compresión con LZ4, Zstd o Zlib (configurable por repositorio).

– Cifrado autenticado (AEAD) con ChaCha20-Poly1305.

– Montaje de backups como filesystem (FUSE) para restauración selectiva.

  • Limitaciones: No nativamente compatible con S3. Requiere herramientas como borgmatic o un wrapper como borgstore para integrar con clouds.
  • Ejemplo de backup incremental:
  # Inicializar repositorio (local o SSH)
  borg init --encryption=repokey /mnt/backup/mi-repo

  # Backup con compresión y deduplicación
  borg create --stats --progress \
    /mnt/backup/mi-repo::mi-sistema-{now:%Y-%m-%d} \
    /home /etc /var/www

  # Ver snapshots
  borg list /mnt/backup/mi-repo
  

4. Restic (Sysadmins avanzados)

  • Versión estable: 0.16.4 (enero 2024), con soporte para Go 1.21+.
  • Diferencial: Backups basados en snapshots, donde cada uno es independiente y restorable.
  • Destinos: Local, SFTP, S3-compatible, Backblaze B2, Azure Blob, Google Cloud Storage, Wasabi.
  • Cifrado: Usa un esquema híbrido (clave maestra + claves de snapshot).
  • Ejemplo de backup a Azure Blob:
  # Configurar credenciales en ~/.restic/config
  export AZURE_ACCOUNT_NAME="mi-cuenta"
  export AZURE_ACCOUNT_KEY="mi-clave"

  restic -r azure:container:/backups init
  restic -r azure:container:/backups backup /home
  
  • Automatización: No tiene scheduler integrado. Se recomienda usar systemd timers o un wrapper como systemd-cat.

5. MSP360 Free (Backups cloud-first)

  • Versión: 8.1.0 (2024), con soporte para Linux x86_64.
  • Licencia: Gratuita para uso personal (5TB en cloud, 5TB local). Para uso comercial, requiere licencia paga.
  • Destinos: Backblaze B2, Wasabi, S3-compatible, Azure Blob, y almacenamiento local.
  • Automatización: CLI-first. Usa cron para scheduling.
  • Ejemplo de backup programado:
  # Instalación en Debian/Ubuntu
  wget https://download.msp360.com/backup/linux/msp360-backup-linux-x64.deb
  sudo dpkg -i msp360-backup-linux-x64.deb

  # Crear tarea via cron (ej: diario a las 2 AM)
  (crontab -l 2>/dev/null; echo "0 2 * * * /usr/bin/msp360-backup --command backup --source /home --destination s3://mi-bucket") | crontab -
  

6. UrBackup (Gestión de flotas)

  • Versión estable: 2.5.23 (marzo 2024), con soporte para Linux (cliente y servidor).
  • Arquitectura: Servidor central (Linux/Windows) + agente ligero en clientes.
  • Características:
– Backups de archivos e imágenes de disco (para Linux, soporta ext4/XFS en modo experimental).

– Deduplicación global (cruza datos entre clientes).

– Interfaz web para monitoreo y restauración.

  • Limitaciones: El backup de imágenes para Linux es menos maduro que para Windows. Se recomienda priorizar backups de archivos.
  • Instalación del servidor (Ubuntu 22.04):
  # Agregar repositorio y instalar
  echo "deb [trusted=yes] https://download.urbackup.org/repos/apt/ /" | sudo tee /etc/apt/sources.list.d/urbackup.list
  sudo apt update && sudo apt install urbackup-server

  # Iniciar servicio
  sudo systemctl enable --now urbackup-server
  
  • Acceso a la interfaz: http://<ip-servidor>:55414.

Qué deberían hacer los administradores y equipos técnicos

Para usuarios de escritorio (GNOME/KDE)

  1. Usar Déjà Dup si buscas simplicidad:
   # Instalar en Ubuntu 23.10/Fedora 39
   sudo apt install deja-dup  # Ubuntu/Debian
   sudo dnf install deja-dup  # Fedora

   # Configurar destino (ej: NAS con NFS)
   deja-dup --backup-location=nfs://nas.local/backups
   

Frecuencia: Semanal automático.

Exclusiones: Configurar en la GUI qué carpetas incluir/excluir.

  1. Para backups de sistema, usa Timeshift:
   sudo apt install timeshift  # Ubuntu/Debian
   sudo dnf install timeshift  # Fedora

   # Configurar snapshots Btrfs (si el filesystem lo soporta)
   sudo timeshift --create --comments "Pre-actualización" --tags D
   

Para servidores individuales o homelabs

  1. BorgBackup si priorizas deduplicación y cifrado:
   # Instalar en Ubuntu 23.10
   sudo apt install borgbackup

   # Inicializar repo en un disco externo cifrado
   sudo cryptsetup luksFormat /dev/sdb1
   sudo cryptsetup open /dev/sdb1 borg-repo
   sudo borg init --encryption=repokey /mnt/borg-repo
   
  1. Restic si necesitas flexibilidad en destinos cloud:
   # Instalar en Debian 12
   sudo apt install restic

   # Backup a Backblaze B2 con rotación de 30 días
   export B2_ACCOUNT_ID="..."
   export B2_APPLICATION_KEY="..."
   restic -r b2:mi-bucket/backups init
   restic -r b2:mi-bucket/backups backup /srv --keep-daily 7 --keep-weekly 4
   
  1. Kopia si buscas equilibrio entre facilidad y potencia:
   # Instalar en Fedora 39
   sudo dnf install kopia

   # Crear repo en Azure Blob
   kopia repository create azure --storage-account=mi-cuenta --container=backups
   kopia policy set --keep-latest 14 --compression zstd repo:/azure
   kopia snapshot create /home
   

Para gestión de flotas (DevOps / Infraestructura)

  1. UrBackup para centralizar backups de múltiples máquinas:
   # Instalar servidor en Ubuntu 22.04 LTS
   wget https://hndl.urbackup.org/Server/2.5.23/urbackup-server_2.5.23-1_amd64.deb
   sudo dpkg -i urbackup-server_2.5.23-1_amd64.deb

   # Configurar storage en un disco montado en /mnt/backups
   sudo systemctl restart urbackup-server
   

Pasos siguientes:

– Agregar clientes Linux/Windows desde la interfaz web.

– Configurar políticas de retención (ej: 30 días de backups diarios).

– Habilitar notificaciones por email (SMTP).

  1. MSP360 Free si necesitas backups cloud-first sin complejidad:
   # Instalar en un servidor de backup dedicado
   curl -s https://download.msp360.com/backup/linux/msp360-backup-linux-x64.tar.gz | sudo tar -xz -C /opt

   # Configurar backup automático a Wasabi
   /opt/msp360-backup/bin/msp360-backup --command config \
     --destination s3://mi-bucket \
     --source /home /etc \
     --schedule "0 3 * * *"  # 3 AM diario
   

Conclusión

La elección de una herramienta de backup en Linux debe alinearse con el escenario específico: Déjà Dup para usuarios de escritorio, BorgBackup/Restic para servidores individuales con alto volumen de datos, Kopia para equipos que necesitan balance entre potencia y facilidad, UrBackup para flotas, y MSP360 Free para backups cloud-first con mínima configuración.

Para entornos productivos, prioriza herramientas con:

  • Cifrado por defecto (Kopia, Restic, BorgBackup).
  • Deduplicación (todos los mencionados excepto Déjà Dup con backend Restic).
  • Integración con systemd/cron (evita soluciones que dependan de GUIs frágiles).

Finalmente, nunca confíes en un solo backup: implementa la regla 3-2-1 (3 copias, 2 medios distintos, 1 copia offsite) y prueba restauraciones periódicamente. Un backup sin restauración verificada es solo un archivo más en tu disco.

Fuentes

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *