Backup y Restaurar Workflows en n8n: Guía Completa

N8n backup y restaurar workflows es uno de los usos más prácticos de n8n. Perder los workflows de n8n puede ser catastrófico para tu negocio. Conocer cómo hacer backup y restaurar workflows en n8n es una de las tareas más importantes de cualquier instalación en producción. En esta guía vemos todas las opciones disponibles.

Por qué es crítico hacer backup en n8n

n8n almacena toda su información en una base de datos (SQLite o PostgreSQL). Si el servidor falla, la base de datos se corrompe o actualiza mal, puedes perder:

  • Todos los workflows creados
  • Las credenciales configuradas
  • El historial de ejecuciones
  • La configuración de usuarios

Un sistema de backup de n8n bien configurado te permite recuperarte en minutos.

Método 1: Exportar workflows manualmente desde la interfaz

La forma más sencilla de hacer backup de workflows individuales:

  1. Abre n8n y ve al workflow que quieres exportar
  2. Haz clic en el menú (tres puntos) → Download
  3. n8n descarga un archivo .json con el workflow completo

Para importar:

  1. Ve a Workflows → botón +Import from file
  2. Selecciona el archivo .json

Este método es perfecto para compartir workflows o hacer backups puntuales, pero no es práctico para backups automáticos de toda la instancia.

Método 2: Exportar todos los workflows con la CLI de n8n

n8n incluye una CLI para exportar e importar workflows de forma masiva. Es ideal para hacer backup de todos los workflows en n8n de una vez:

# Exportar todos los workflows a archivos JSON individuales
n8n export:workflow --all --output=/backups/workflows/

# Exportar todas las credenciales (cifradas)
n8n export:credentials --all --output=/backups/credentials/

Con Docker:

docker compose exec n8n n8n export:workflow --all --output=/backups/

Para restaurar:

n8n import:workflow --input=/backups/workflows/
n8n import:credentials --input=/backups/credentials/

Método 3: Backup de la base de datos completa

Este método hace un backup completo de n8n, incluyendo workflows, credenciales, usuarios e historial de ejecuciones.

SQLite (instalación por defecto)

# Detener n8n primero para evitar corrupción
docker compose stop n8n
cp ~/.n8n/database.sqlite /backups/n8n_$(date +%Y%m%d).sqlite
docker compose start n8n

PostgreSQL

docker compose exec -T postgres pg_dump -U n8n n8n > /backups/n8n_$(date +%Y%m%d_%H%M).sql

Script de backup automático

Este script hace backup automático de n8n cada día y elimina copias antiguas:

#!/bin/bash
BACKUP_DIR=/backups/n8n
DATE=$(date +%Y%m%d_%H%M%S)
N8N_DIR=/opt/n8n

mkdir -p $BACKUP_DIR

# Backup de la base de datos
docker compose -f $N8N_DIR/docker-compose.yml exec -T postgres \
  pg_dump -U n8n n8n > $BACKUP_DIR/db_$DATE.sql

# Backup de workflows como JSON (más portátil)
docker compose -f $N8N_DIR/docker-compose.yml exec n8n \
  n8n export:workflow --all --output=/tmp/workflows_$DATE/
docker cp $(docker compose -f $N8N_DIR/docker-compose.yml ps -q n8n):/tmp/workflows_$DATE \
  $BACKUP_DIR/

# Eliminar backups de más de 30 días
find $BACKUP_DIR -name "db_*.sql" -mtime +30 -delete
find $BACKUP_DIR -type d -name "workflows_*" -mtime +30 -exec rm -rf {} +

echo "Backup completado: $DATE"

Activa el backup diario:

chmod +x /opt/backup-n8n.sh
crontab -e
# Añade: 0 2 * * * /opt/backup-n8n.sh >> /var/log/n8n-backup.log 2>&1

Cómo restaurar n8n desde un backup

Restaurar base de datos PostgreSQL

# Detener n8n
docker compose stop n8n

# Restaurar
docker compose exec -T postgres psql -U n8n -d n8n < /backups/n8n_20260101.sql

# Arrancar n8n
docker compose start n8n

Restaurar workflows desde JSON

Si solo necesitas restaurar los workflows (sin el historial):

docker compose exec n8n n8n import:workflow --input=/backups/workflows/

Migrar n8n a un nuevo servidor

El proceso de backup y restaurar n8n también sirve para migrar entre servidores:

  1. Exporta la base de datos y los workflows del servidor origen
  2. Instala n8n en el servidor destino con la misma N8N_ENCRYPTION_KEY
  3. Importa la base de datos en el servidor destino
  4. Verifica que las credenciales funcionan

El punto crítico es usar la misma N8N_ENCRYPTION_KEY. Sin ella, las credenciales no se podrán descifrar en el nuevo servidor.

Conclusión

Tener un sistema de backup y restauración de n8n bien configurado es tan importante como los propios workflows. Combina el backup diario de la base de datos con la exportación periódica de workflows en JSON para tener doble protección. Dedica 30 minutos a configurar el script automático hoy y no tendrás que lamentarte después.