Backups Automatizados: Kopia vs Restic vs Duplicati (Guía Comparativa 2025)

📋 TL;DR (Resumen Ejecutivo)

¿Necesitas backups automatizados para tu homelab pero no sabes qué herramienta elegir? En esta guía comparativa analizamos Kopia, Restic y Duplicati: tres soluciones open-source de backup que pueden salvarte de perder datos críticos. Kopia destaca por su velocidad (100-140 MB/s), Restic por su simplicidad y confiabilidad, y Duplicati por su interfaz web intuitiva. Cubrimos instalación con Docker-2025/), configuración paso a paso, automatización con n8n, y casos de uso específicos para que elijas la mejor opción según tus necesidades.

Lo que conseguirás:

  • ✅ Stack completo de backup funcionando en Docker (Kopia, Restic, Duplicati)
  • ✅ Scripts automatizados listos para copy-paste con políticas de retención
  • ✅ Comparativa técnica detallada con métricas reales de rendimiento
  • ✅ Integración con n8n para notificaciones y monitorización
  • ✅ Estrategia 3-2-1 implementada correctamente

Tiempo de lectura: ~25 minutos | Nivel: Intermedio

📚 Tabla de Contenidos

  1. Introducción: ¿Por Qué Necesitas Backups Automatizados?
  2. ¿Qué es un Backup Automatizado?
  3. Kopia: Guía Completa
  4. Restic: Guía Completa
  5. Duplicati: Guía Completa
  6. Comparativa Técnica Detallada
  7. Estrategia 3-2-1 y Mejores Prácticas
  8. Automatización con n8n
  9. Troubleshooting: Errores Comunes
  10. 📦 Descargar Ejemplos
  11. Preguntas Frecuentes
  12. Conclusión y Recomendaciones

> 📅 Última actualización: Diciembre 2025

> ✅ Verificado con: Kopia v0.16+ | Restic v0.16+ | Duplicati v2.0+ | Docker Compose v2.24

> 🔄 Repositorio GitHub: learningaiagents/backups-automatizados

Introducción: ¿Por Qué Necesitas Backups Automatizados? {#introduccion}

Perder datos en un homelab es más común de lo que crees. Un fallo de disco duro, un error al ejecutar rm -rf, una actualización que rompe tu sistema, o incluso un ransomware (aunque sea raro en homelabs) pueden hacerte perder semanas de trabajo en minutos. La pregunta no es si perderás datos, sino cuándo sucederá.

El problema:

  • Los backups manuales son olvidados o pospuestos indefinidamente
  • Copiar archivos manualmente no es escalable ni confiable
  • No sabes si tus backups funcionan hasta que los necesitas (y entonces es demasiado tarde)
  • Gestionar políticas de retención manualmente es tedioso y propenso a errores

La solución: Backups Automatizados

Un sistema de backup automatizado se encarga de:

  • Crear copias de seguridad periódicas sin intervención manual
  • Implementar políticas de retención (mantener X días, Y semanas, Z meses)
  • Verificar la integridad de los backups automáticamente
  • Notificarte cuando algo falla
  • Restaurar datos rápidamente cuando los necesitas

En esta guía completa aprenderás:

  • Cómo instalar y configurar Kopia, Restic y Duplicati con Docker
  • Crear repositorios en local, S3, SFTP y otros backends
  • Configurar políticas de retención inteligentes
  • Automatizar backups con scripts y cron
  • Integrar backups con n8n para notificaciones
  • Comparar las tres herramientas para elegir la mejor para tu caso
  • Implementar la estrategia 3-2-1 correctamente
  • Resolver problemas comunes y aplicar mejores prácticas

Ya seas sysadmin que gestiona múltiples servidores, entusiasta de homelab que quiere proteger sus datos, o desarrollador que necesita backups confiables, esta guía te dará todo lo necesario para implementar backups automatizados profesionales.

Imagen 1

¿Qué es un Backup Automatizado? {#que-es-backup}

Un backup automatizado es un proceso de copia de seguridad programado que se ejecuta automáticamente sin intervención manual. A diferencia de copiar archivos manualmente, un sistema automatizado gestiona el ciclo completo: creación, verificación, retención y restauración.

Componentes Clave

1. Backups Incrementales

Solo copian archivos modificados desde el último backup. Esto ahorra tiempo y espacio: si tienes 100 GB de datos pero solo cambiaron 1 GB, el backup solo procesa ese 1 GB.

2. Deduplicación

Elimina datos duplicados a nivel de bloque. Si el mismo archivo existe en múltiples ubicaciones, solo se almacena una vez. Esto reduce significativamente el espacio necesario.

3. Compresión

Reduce el tamaño de los datos almacenados usando algoritmos como gzip, zstd o s2. Dependiendo del tipo de datos, puedes ahorrar 30-70% de espacio.

4. Encriptación

Protege tus datos con cifrado AES-256. Incluso si alguien accede a tu repositorio de backup, no podrá leer tus datos sin la contraseña.

5. Políticas de Retención

Define cuánto tiempo se mantienen los backups:

  • keep-latest: Mantener los últimos N snapshots
  • keep-daily: Mantener 1 snapshot por día durante X días
  • keep-weekly: Mantener 1 snapshot por semana durante X semanas
  • keep-monthly: Mantener 1 snapshot por mes durante X meses

6. Estrategia 3-2-1

  • 3 copias: Original + 2 backups
  • 2 medios diferentes: Disco local + Cloud, o Local + Remoto
  • 1 copia off-site: Backup fuera de tu ubicación física

Tipos de Repositorios

Los repositorios de backup pueden almacenarse en:

  • Local: Disco duro, NAS, sistema de archivos (/backup/repo)
  • Cloud: S3, Azure Blob, Google Cloud Storage, Backblaze B2
  • Network: SFTP, WebDAV, NFS, CIFS
  • Remoto: Servidor dedicado, VPS con acceso SSH

Cada herramienta soporta diferentes backends. Kopia y Restic tienen soporte nativo para S3, mientras que Duplicati soporta más de 20 destinos diferentes.

Métricas de Performance

Las herramientas se evalúan según:

  • Velocidad de backup: MB/s durante la creación (más rápido = mejor)
  • Velocidad de restauración: MB/s durante la recuperación (crítico cuando necesitas restaurar)
  • Uso de recursos: CPU, RAM, I/O del disco (importante para homelabs con recursos limitados)
  • Espacio utilizado: Eficiencia de compresión y deduplicación
  • Escalabilidad: Rendimiento con grandes volúmenes (TB+ de datos)

Kopia: Guía Completa {#kopia}

Kopia es una herramienta de backup moderna desarrollada por Jarek Kowalski (Google). Está escrita en Go y destaca por su velocidad y eficiencia. Soporta múltiples plataformas y ofrece tanto CLI como GUI.

Características Principales

  • Velocidad: 100-140 MB/s en backups, 200-250 MB/s en restauraciones
  • Deduplicación: A nivel de bloque con hash SHA-256
  • Compresión: Algoritmo s2 (rápido) o zstd (más compresión)
  • Cifrado: AES-256-GCM con autenticación
  • Snapshots: Sistema de instantáneas versionadas
  • Policies: Políticas flexibles de retención por tags

Instalación con Docker

YAML
version: '3.8'

services:
  kopia-server:
    image: kopia/kopia:latest
    container_name: kopia-server
    restart: unless-stopped
    volumes:
      - ./kopia-repo:/kopia-repo
      - ./kopia-config:/app/config
      - /data:/data:ro  # Volumen a hacer backup (solo lectura)
    ports:
      - "51515:51515"
    environment:
      - KOPIA_USERNAME=admin
      - KOPIA_PASSWORD=${KOPIA_PASSWORD}
    command: server start --insecure --without-password --ui

Configuración de Repositorio

BASH
# Crear repositorio local
kopia repository create filesystem --path=/kopia-repo/my-repo

# Crear repositorio S3
kopia repository create s3 \
  --bucket=my-backup-bucket \
  --region=us-east-1 \
  --access-key=${AWS_ACCESS_KEY} \
  --secret-access-key=${AWS_SECRET_KEY}

# Conectar a repositorio existente
kopia repository connect filesystem --path=/kopia-repo/my-repo

Crear Snapshot

BASH
# Snapshot simple
kopia snapshot create /data

# Snapshot con política específica
kopia snapshot create /data --tags=critical,homelab

# Snapshot excluyendo archivos
kopia snapshot create /data \
  --exclude='*.tmp' \
  --exclude='node_modules/**' \
  --exclude='.git/**'

Políticas de Retención

BASH
# Crear política de retención
kopia policy set \
  --global \
  --keep-latest=10 \
  --keep-hourly=24 \
  --keep-daily=7 \
  --keep-weekly=4 \
  --keep-monthly=12 \
  --keep-annual=5

# Aplicar política a un path específico
kopia policy set \
  --target=/data \
  --keep-daily=30 \
  --keep-weekly=12 \
  --keep-monthly=24

Restauración

BASH
# Listar snapshots
kopia snapshot list

# Restaurar snapshot completo
kopia snapshot restore k0abc123def /restore-path

# Restaurar archivo específico
kopia snapshot restore k0abc123def:/path/to/file.txt /restore-path/

# Montar snapshot como sistema de archivos
kopia mount k0abc123def /mnt/kopia

Automatización con Script

BASH
#!/bin/bash
# kopia-backup.sh

REPO_PATH="/kopia-repo/my-repo"
BACKUP_SOURCE="/data"
KOPIA_PASSWORD="${KOPIA_PASSWORD}"

export KOPIA_PASSWORD

# Conectar al repositorio
kopia repository connect filesystem --path=${REPO_PATH} --password-env=KOPIA_PASSWORD

# Crear snapshot
kopia snapshot create ${BACKUP_SOURCE} \
  --tags=automated,daily \
  --description="Daily backup $(date +%Y-%m-%d)"

# Ejecutar mantenimiento
kopia maintenance run --full

echo "Backup completado: $(date)"

Web UI

Kopia ofrece una interfaz web integrada accesible en http://localhost:51515. Desde aquí puedes gestionar snapshots, políticas, y restaurar archivos visualmente.

Ventajas de Kopia

  • ✅ Velocidad excepcional (la más rápida en pruebas)
  • ✅ GUI moderna y funcional
  • ✅ Políticas de retención flexibles
  • ✅ Soporte para múltiples backends
  • ✅ Bajo consumo de recursos

Desventajas de Kopia

  • ⚠️ Proyecto más reciente (menos maduro)
  • ⚠️ Comunidad más pequeña
  • ⚠️ Menos integraciones de terceros

Restic: Guía Completa {#restic}

Restic es una herramienta de backup moderna escrita en Go. Se enfoca en simplicidad, seguridad y portabilidad. Es un único binario sin dependencias, lo que facilita su despliegue.

Características Principales

  • Seguridad: AES-256-CTR con Poly1305-AES
  • Velocidad: 120-160 MB/s en backups, 140-180 MB/s en restauraciones
  • Deduplicación: Global basada en chunks
  • Portabilidad: Binario único sin dependencias
  • Snapshots: Sistema de snapshots inmutables
  • Verificación: Verificación automática de integridad

Instalación

BASH
# Descargar binario
wget https://github.com/restic/restic/releases/download/v0.16.4/restic_0.16.4_linux_amd64.bz2
bzip2 -d restic_0.16.4_linux_amd64.bz2
chmod +x restic_0.16.4_linux_amd64
sudo mv restic_0.16.4_linux_amd64 /usr/local/bin/restic

# Verificar instalación
restic version

Inicializar Repositorio

BASH
# Repositorio local
export RESTIC_PASSWORD="mypassword"
restic init --repo /backup/restic-repo

# Repositorio S3
export AWS_ACCESS_KEY_ID="xxx"
export AWS_SECRET_ACCESS_KEY="xxx"
export RESTIC_PASSWORD="mypassword"
restic init --repo s3:s3.amazonaws.com/my-bucket/restic

# Repositorio SFTP
export RESTIC_PASSWORD="mypassword"
restic init --repo sftp:user@backup-server:/backup/restic

Crear Backup

BASH
# Backup simple
restic backup /data

# Backup con exclude patterns
restic backup /data \
  --exclude="*.tmp" \
  --exclude="node_modules" \
  --exclude=".git" \
  --tag="homelab,daily"

# Backup incremental automático
restic backup /data --tag="automated"

Listar y Gestionar Snapshots

BASH
# Listar todos los snapshots
restic snapshots

# Listar snapshots por tag
restic snapshots --tag="daily"

# Información del repositorio
restic stats

# Limpiar snapshots antiguos (prune)
restic forget --keep-last 10 \
  --keep-hourly 24 \
  --keep-daily 7 \
  --keep-weekly 4 \
  --keep-monthly 12 \
  --keep-yearly 5 \
  --prune

Restauración

BASH
# Listar contenido de snapshot
restic ls latest

# Restaurar snapshot completo
restic restore latest --target /restore-path

# Restaurar archivo específico
restic restore latest \
  --target /restore-path \
  --include /data/important-file.txt

# Restaurar por snapshot ID
restic restore abc123def --target /restore-path

Verificación de Integridad

BASH
# Verificar repositorio
restic check

# Verificar con lectura completa
restic check --read-data

# Reconstruir índice si está corrupto
restic rebuild-index

Automatización con Cron

BASH
#!/bin/bash
# restic-backup.sh

export RESTIC_PASSWORD="mypassword"
export AWS_ACCESS_KEY_ID="xxx"
export AWS_SECRET_ACCESS_KEY="xxx"

REPO="s3:s3.amazonaws.com/my-bucket/restic"
BACKUP_SOURCE="/data"

# Backup
restic backup ${BACKUP_SOURCE} \
  --repo ${REPO} \
  --tag="automated,daily" \
  --exclude="*.tmp"

# Limpiar snapshots antiguos
restic forget \
  --repo ${REPO} \
  --keep-last 10 \
  --keep-daily 7 \
  --keep-weekly 4 \
  --keep-monthly 12 \
  --prune

echo "Backup completado: $(date)"

Añadir a crontab:

BASH
# Backup diario a las 2 AM
0 2 * * * /path/to/restic-backup.sh >> /var/log/restic-backup.log 2>&1

Ventajas de Restic

  • ✅ Simplicidad (un solo binario)
  • ✅ Seguridad robusta
  • ✅ Comunidad grande y activa
  • ✅ Muy estable y confiable
  • ✅ Excelente documentación

Desventajas de Restic

  • ⚠️ Solo CLI (sin GUI oficial)
  • ⚠️ Requiere herramientas externas para scheduling
  • ⚠️ Menos rápido que Kopia en algunas pruebas

Duplicati: Guía Completa {#duplicati}

Duplicati es una solución de backup open-source escrita en C#. Destaca por su interfaz web intuitiva y configuración guiada, ideal para usuarios no técnicos.

Características Principales

  • Interfaz Web: GUI completa basada en navegador
  • Múltiples Destinos: 20+ backends soportados
  • Cifrado: AES-256 local antes de subir
  • Compresión: ZIP con múltiples niveles
  • Programación: Scheduler integrado
  • Backups Incrementales: Solo cambios desde último backup

Instalación con Docker

YAML
version: '3.8'

services:
  duplicati:
    image: lscr.io/linuxserver/duplicati:latest
    container_name: duplicati
    restart: unless-stopped
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Madrid
    volumes:
      - ./duplicati-config:/config
      - /data:/data:ro
      - ./backups:/backups
    ports:
      - "8200:8200"

Acceso: http://localhost:8200

Configuración de Backup

  1. Crear nuevo backup:

– Click en «Add backup»

– Nombre: «Homelab Daily Backup»

  1. Configurar destino:

– Tipo: S3 Compatible / FTP / SFTP / Local

– Para S3: Bucket, Access Key, Secret Key, Region

– Path: /backups/homelab

  1. Seleccionar fuente:

– Click «Add source»

– Seleccionar /data o paths específicos

  1. Configurar schedule:

– Daily: 02:00 AM

– Weekly: Sunday 03:00 AM

– Monthly: Day 1, 04:00 AM

  1. Opciones avanzadas:

– Compression level: 7 (balance)

– Encryption: AES-256

– Retention: 30 days, 12 weeks, 12 months

Restauración

  1. Vía Web UI:

– Seleccionar backup job

– Click «Restore»

– Seleccionar snapshot

– Elegir archivos/carpetas

– Click «Restore»

  1. Vía línea de comandos:
BASH
docker exec duplicati \
     mono /app/duplicati/Duplicati.CommandLine.exe \
     restore "s3://my-bucket/backups" \
     --backup-name="homelab-daily" \
     --restore-path="/restore"

Ventajas de Duplicati

  • ✅ Interfaz web intuitiva
  • ✅ Muy fácil de usar para no técnicos
  • ✅ Scheduler integrado
  • ✅ Muchos destinos soportados
  • ✅ Configuración guiada

Desventajas de Duplicati

  • ⚠️ Más lento que Kopia/Restic
  • ⚠️ Mayor consumo de recursos
  • ⚠️ Dependencias de .NET/Mono
  • ⚠️ Backup files pueden ser grandes (ZIP)

Imagen 2

Comparativa Técnica Detallada {#comparativa}

Tabla Comparativa

CaracterísticaKopiaResticDuplicati
Velocidad Backup100-140 MB/s ⭐⭐⭐⭐⭐120-160 MB/s ⭐⭐⭐⭐40-60 MB/s ⭐⭐⭐
Velocidad Restore200-250 MB/s ⭐⭐⭐⭐⭐140-180 MB/s ⭐⭐⭐⭐30-50 MB/s ⭐⭐⭐
InterfazCLI + GUI ⭐⭐⭐⭐Solo CLI ⭐⭐Web UI ⭐⭐⭐⭐⭐
Facilidad UsoMedia ⭐⭐⭐Baja ⭐⭐Alta ⭐⭐⭐⭐⭐
Consumo RAM200-500 MB ⭐⭐⭐⭐⭐100-300 MB ⭐⭐⭐⭐⭐500-1000 MB ⭐⭐⭐
Consumo CPUBajo ⭐⭐⭐⭐⭐Bajo ⭐⭐⭐⭐⭐Medio ⭐⭐⭐
DeduplicaciónBloque SHA-256 ⭐⭐⭐⭐⭐Global chunks ⭐⭐⭐⭐⭐Por archivo ⭐⭐⭐
CifradoAES-256-GCM ⭐⭐⭐⭐⭐AES-256-CTR ⭐⭐⭐⭐⭐AES-256 ⭐⭐⭐⭐
Backends10+ ⭐⭐⭐⭐15+ ⭐⭐⭐⭐⭐20+ ⭐⭐⭐⭐⭐
SchedulerManual/Cron ⭐⭐⭐Manual/Cron ⭐⭐⭐Integrado ⭐⭐⭐⭐⭐
DocumentaciónBuena ⭐⭐⭐⭐Excelente ⭐⭐⭐⭐⭐Buena ⭐⭐⭐⭐
ComunidadPequeña ⭐⭐⭐Grande ⭐⭐⭐⭐⭐Media ⭐⭐⭐⭐

Casos de Uso Recomendados

Kopia: Ideal para

  • ✅ Backups rápidos de grandes volúmenes
  • ✅ Usuarios que valoran velocidad
  • ✅ Homelabs con recursos limitados
  • ✅ Necesidad de GUI moderna
  • ✅ Políticas de retención complejas

Restic: Ideal para

  • ✅ Backups simples y confiables
  • ✅ Usuarios técnicos cómodos con CLI
  • ✅ Scripting y automatización avanzada
  • ✅ Máxima seguridad y portabilidad
  • ✅ Comunidad y soporte activo

Duplicati: Ideal para

  • ✅ Usuarios no técnicos
  • ✅ Configuración rápida sin código
  • ✅ Necesidad de scheduler integrado
  • ✅ Múltiples destinos de backup
  • ✅ Interfaz visual para gestión

Estrategia 3-2-1 y Mejores Prácticas {#mejores-practicas}

Estrategia 3-2-1

  • 3 copias: Original + 2 backups
  • 2 medios diferentes: Disco + Cloud, o Local + Remoto
  • 1 copia off-site: Backup fuera de ubicación física

Ejemplo de Estrategia

TEXT
Local (NAS): Backup diario incremental
├── Kopia → NAS local (10TB)
│   ├── Retención: 30 días diarios
│   ├── 12 semanas semanales
│   └── 12 meses mensuales

Cloud (S3): Backup semanal completo
├── Restic → AWS S3 (bucket encriptado)
│   ├── Retención: 4 semanas
│   ├── 12 meses mensuales
│   └── 5 años anuales

Off-site (Servidor remoto): Backup mensual
└── Duplicati → VPS remoto (SFTP)
    └── Retención: 12 meses

Testing de Backups

BASH
#!/bin/bash
# test-restore.sh

BACKUP_TOOL="kopia"
SNAPSHOT_ID=$(kopia snapshot list --all | tail -1 | awk '{print $4}')

# Crear directorio de prueba
TEST_DIR="/tmp/backup-test-$(date +%Y%m%d)"
mkdir -p ${TEST_DIR}

# Restaurar snapshot
kopia snapshot restore ${SNAPSHOT_ID} ${TEST_DIR}

# Verificar que se restauraron archivos
FILE_COUNT=$(find ${TEST_DIR} -type f | wc -l)

if [ ${FILE_COUNT} -eq 0 ]; then
    echo "❌ Error: No se restauraron archivos"
    exit 1
fi

echo "✅ Backup verificado: ${FILE_COUNT} archivos restaurados correctamente"

# Limpiar
rm -rf ${TEST_DIR}

Monitorización

Verifica regularmente que tus backups funcionan:

BASH
#!/bin/bash
# backup-monitor.sh

# Verificar último backup
LAST_BACKUP=$(kopia snapshot list | tail -1 | awk '{print $1, $2}')

# Calcular diferencia en horas
LAST_TIMESTAMP=$(date -d "${LAST_BACKUP}" +%s)
CURRENT_TIMESTAMP=$(date +%s)
DIFF_HOURS=$(( (CURRENT_TIMESTAMP - LAST_TIMESTAMP) / 3600 ))

# Alerta si último backup > 25 horas
if [ ${DIFF_HOURS} -gt 25 ]; then
    echo "⚠️ ALERTA: Último backup hace ${DIFF_HOURS} horas"
    # Enviar notificación (email, Telegram, etc.)
fi

Imagen 3

Automatización con n8n {#automatizacion-n8n}

Puedes integrar tus backups con n8n para recibir notificaciones y monitorizar el estado.

Workflow: Notificación de Backup Exitoso

  1. Trigger: Cron diario a las 3 AM
  2. HTTP Request: Verificar estado del backup (Kopia API)
  3. Condition: Si status = «healthy»
  4. Telegram/Slack: Enviar notificación de éxito

Workflow: Alertas de Backup Fallido

  1. Monitor: Leer logs de backup
  2. Condition: Si encuentra «ERROR»
  3. Telegram/Slack: Enviar alerta inmediata

Ejemplos completos de workflows n8n están disponibles en el repositorio GitHub.

Troubleshooting: Errores Comunes {#troubleshooting}

Kopia: Problemas y Soluciones

Error: «repository is locked»

BASH
# Solución: Forzar unlock
kopia repository unlock --remove-all-locks

Error: «out of disk space»

BASH
# Verificar espacio utilizado
kopia repository status

# Ejecutar mantenimiento para limpiar
kopia maintenance run --full

Backup muy lento

BASH
# Verificar configuración de compresión
kopia policy set --compression=s2  # Más rápido
kopia policy set --compression=zstd  # Más compresión

Restic: Problemas y Soluciones

Error: «repository is locked»

BASH
# Solución: Unlock
restic unlock --remove-all

Error: «password incorrect»

BASH
# Verificar variable de entorno
echo $RESTIC_PASSWORD

# O usar archivo de password
export RESTIC_PASSWORD_FILE=/path/to/password-file

Repositorio corrupto

BASH
# Reconstruir índice
restic rebuild-index

# Verificar integridad
restic check --read-data

Duplicati: Problemas y Soluciones

Backup falla con «out of memory»

BASH
# Aumentar memoria del contenedor Docker
docker update --memory="2g" duplicati

Backup files corruptos

  • Verificar integridad en UI: Tools → Verify backups
  • O reparar: Tools → Repair

Backup muy lento

  • Reducir nivel de compresión: Settings → Compression → Level 5 (en lugar de 9)

Imagen 4

📦 Descargar Ejemplos {#descargar-ejemplos}

Todos los ejemplos de código, docker-compose files, scripts y configuraciones están disponibles en GitHub:

🔗 Repositorio: github.com/ziruelen/learningaiagents/tree/main/homelab/backups-automatizados

Contenido:

  • docker-compose-kopia.yml – Stack Kopia con web UI
  • docker-compose-restic.yml – Stack Restic
  • docker-compose-duplicati.yml – Stack Duplicati
  • scripts/kopia-backup.sh – Script automatizado Kopia
  • scripts/restic-backup.sh – Script automatizado Restic
  • scripts/verify-backup.sh – Script de verificación
  • configs/kopia-policy.json – Política de retención
  • n8n/workflow-backup-notifications.json – Workflow n8n

Imagen 5

Preguntas Frecuentes {#faq}

¿Cuál es la mejor herramienta para mi caso?

Kopia si valoras velocidad y tienes recursos limitados. Restic si priorizas simplicidad y confiabilidad. Duplicati si necesitas facilidad de uso y scheduler integrado.

¿Qué es la estrategia 3-2-1?

3 copias (original + 2 backups), 2 medios diferentes (disco + cloud), 1 copia off-site. Esta estrategia te protege de múltiples fallos simultáneos.

¿Necesito backup en la nube?

No es estrictamente necesario, pero recomendado. Una copia off-site (nube o servidor remoto) te protege de desastres físicos (incendio, robo, etc).

¿Cuánto espacio necesito para backups?

Depende del volumen de datos y la retención. Con compresión y deduplicación, normalmente necesitas 1.5-2x el tamaño de tus datos originales.

¿Puedo usar múltiples herramientas a la vez?

Sí. Muchos usuarios usan Kopia para backups locales (rápido) y Restic para cloud (confiable), o Duplicati para backups de usuarios no técnicos.

¿Cómo verifico que mis backups funcionan?

Ejecuta tests de restauración periódicamente. Restaura un snapshot a un directorio temporal y verifica que los archivos están correctos.

¿Qué hacer si el repositorio está corrupto?

Kopia y Restic tienen comandos de verificación y reparación. Duplicati tiene herramientas de repair en la UI. Siempre mantén múltiples copias.

¿Puedo automatizar backups con cron?

Sí, todas las herramientas pueden ejecutarse vía cron. Kopia y Restic son ideales para esto. Duplicati tiene scheduler integrado.

¿Qué backends soportan?

Kopia: 10+ (S3, Azure, Google Cloud, filesystem, SFTP). Restic: 15+ (S3, Azure, Google Cloud, Backblaze B2, SFTP, rclone). Duplicati: 20+ (S3, OneDrive, Google Drive, FTP, SFTP, WebDAV, etc).

¿Los backups están encriptados?

Sí, todas las herramientas usan cifrado AES-256. Tus datos están protegidos incluso si alguien accede al repositorio.

¿Cuánto tiempo toma hacer un backup?

Depende del volumen de datos. Con backups incrementales, normalmente toma minutos. Backups completos iniciales pueden tomar horas según el tamaño.

¿Puedo hacer backup de bases de datos?

Sí, pero recomendamos hacer dump de la base de datos primero y luego hacer backup del dump. Algunas herramientas tienen plugins para bases de datos específicas.

¿Qué pasa si olvido la contraseña del repositorio?

Sin la contraseña, no puedes acceder a tus backups. Es crítico mantener la contraseña segura y respaldada (gestor de contraseñas).

¿Puedo hacer backup de Windows desde Linux?

Sí, todas las herramientas soportan múltiples plataformas. Puedes hacer backup de sistemas remotos vía SMB/CIFS o ejecutar el cliente en Windows.

¿Hay límites de tamaño?

Técnicamente no, pero el rendimiento puede degradarse con repositorios muy grandes (10TB+). Para volúmenes muy grandes, considera dividir en múltiples repositorios.

Conclusión y Recomendaciones {#conclusion}

Cada herramienta tiene sus fortalezas:

  • Kopia: La más rápida, ideal para homelabs que priorizan velocidad y tienen recursos limitados. Excelente si necesitas GUI moderna y políticas de retención complejas.
  • Restic: La más confiable, ideal para usuarios técnicos que priorizan simplicidad y seguridad. Perfecta para scripting avanzado y automatización.
  • Duplicati: La más fácil, ideal para usuarios no técnicos que necesitan configuración rápida sin código. Excelente si necesitas scheduler integrado y múltiples destinos.

Recomendación final:

Para un homelab moderno, considera usar múltiples herramientas:

  • Kopia para backups locales rápidos (NAS, disco local)
  • Restic para backups en la nube (S3, Backblaze B2)
  • Duplicati para backups de usuarios no técnicos o sistemas Windows

Implementa la estrategia 3-2-1: 3 copias, 2 medios diferentes, 1 copia off-site. Automatiza todo con scripts y cron, integra con n8n para notificaciones, y prueba restauraciones periódicamente.

Próximos pasos:

  1. Elige una herramienta según tus necesidades
  2. Instala con Docker usando los ejemplos del repositorio
  3. Configura tu primer backup de prueba
  4. Implementa automatización con scripts
  5. Configura estrategia 3-2-1 completa
  6. Integra con n8n para monitorización

¿Necesitas ayuda con la configuración? Visita nuestro Discord o consulta los ejemplos en GitHub.

Artículos relacionados:

Por ziru

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x
El Diario IA
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.