Backup y restaurar workflows en n8n es una de las tareas más críticas que todo administrador necesita dominar. Si usas n8n en producción, perder tus flujos de trabajo puede significar horas (o días) de trabajo tirado a la basura. En esta guía completa te muestro todos los métodos disponibles para hacer backup y restaurar workflows en n8n, desde la exportación manual hasta scripts automatizados que corren solos cada noche. Vamos directo al grano.
¿Por qué es crítico hacer backup y restaurar workflows 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 una actualización sale mal, puedes perder absolutamente todo:
- Todos los workflows creados: cada flujo que diseñaste con tanto cuidado desaparece.
- Las credenciales configuradas: tokens de API, conexiones a servicios externos, todo se pierde.
- El historial de ejecuciones: los logs que necesitas para auditoría o debugging.
- La configuración de usuarios: roles, permisos y ajustes personalizados.
Un sistema de backup de n8n bien configurado te permite recuperarte en minutos, no en días. La pregunta no es si vas a necesitarlo, sino cuándo.

Método 1: Exportar workflows manualmente (backup rápido en n8n)
La forma más sencilla de hacer backup de workflows en n8n es usando la propia interfaz gráfica. Es perfecta para respaldos puntuales o para compartir un flujo específico con alguien más.
Cómo exportar un workflow individual
- Abre n8n y navega al workflow que quieres exportar.
- Haz clic en el menú ⋮ (tres puntos) → Download.
- n8n descarga un archivo
.jsoncon el workflow completo, incluyendo nodos, conexiones y configuraciones.
Cómo importar (restaurar) un workflow
- Ve a Workflows → botón + → Import from file.
- Selecciona el archivo
.jsonque guardaste anteriormente. - Revisa que el workflow importado esté completo y actívalo cuando estés listo.
Ventaja: súper simple, no necesitas acceso al servidor. Desventaja: no es práctico si tienes 20, 50 o 100 workflows. Para eso necesitas los siguientes métodos.
Método 2: Backup y restaurar workflows en n8n con la CLI
n8n incluye una herramienta de línea de comandos (CLI) que permite exportar e importar workflows de forma masiva. Este es el método recomendado para hacer backup de todos los workflows en n8n de una sola vez.
Exportar todos los workflows y credenciales
# 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/Si usas n8n con Docker (que es lo más común), el comando cambia un poco:
# Exportar workflows con Docker Compose
docker compose exec n8n n8n export:workflow --all --output=/backups/
# Exportar credenciales con Docker Compose
docker compose exec n8n n8n export:credentials --all --output=/backups/credentials/Restaurar workflows desde la CLI
# Importar todos los workflows
n8n import:workflow --input=/backups/workflows/
# Importar todas las credenciales
n8n import:credentials --input=/backups/credentials/Este método es mucho más eficiente que el manual y se puede automatizar fácilmente con un script de bash y un cron job, como te muestro más adelante.

Método 3: Backup completo de la base de datos de n8n
Si quieres un backup completo de n8n que incluya absolutamente todo (workflows, credenciales, usuarios, historial de ejecuciones y configuraciones), lo mejor es respaldar directamente la base de datos.
Backup con SQLite (instalación por defecto de n8n)
SQLite guarda todo en un solo archivo, lo que hace el backup bastante directo:
# Detener n8n primero para evitar corrupción de datos
docker compose stop n8n
# Copiar el archivo de base de datos
cp ~/.n8n/database.sqlite /backups/n8n_$(date +%Y%m%d).sqlite
# Arrancar n8n nuevamente
docker compose start n8nImportante: siempre detén n8n antes de copiar el archivo SQLite. Si lo copias mientras está en uso, puedes terminar con un backup corrupto, que es peor que no tener backup.
Backup con PostgreSQL (recomendado para producción)
Si tienes n8n configurado con PostgreSQL (lo cual es lo más recomendable para entornos de producción), usa pg_dump:
# No necesitas detener n8n para esto
docker compose exec -T postgres pg_dump -U n8n n8n > /backups/n8n_$(date +%Y%m%d_%H%M).sqlLa gran ventaja de PostgreSQL es que puedes hacer backups «en caliente» sin detener el servicio. Eso significa cero downtime para tus automatizaciones.
Script de backup automático para n8n (listo para usar)
Ahora viene lo bueno. Este script hace backup automático de n8n cada día, guardando tanto la base de datos como los workflows en JSON, y elimina las copias con más de 30 días para no llenar el disco:
#!/bin/bash
# Script de backup automático para n8n
# Guarda este archivo en /opt/backup-n8n.sh
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 PostgreSQL
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 de n8n completado: $DATE"Para activar el backup diario automático, configura un cron job:
# Dar permisos de ejecución al script
chmod +x /opt/backup-n8n.sh
# Editar el crontab
crontab -e
# Añadir esta línea para ejecutar a las 2 AM todos los días:
0 2 * * * /opt/backup-n8n.sh >> /var/log/n8n-backup.log 2>&1Con esto tu instancia de n8n queda respaldada automáticamente cada noche. Si algo sale mal, siempre tendrás una copia del día anterior lista para restaurar.

Cómo restaurar n8n desde un backup completo
Hacer backups es solo la mitad del trabajo. Saber restaurar workflows en n8n correctamente es igual de importante. Veamos cada escenario:
Restaurar base de datos PostgreSQL
# Paso 1: Detener n8n
docker compose stop n8n
# Paso 2: Restaurar el dump de la base de datos
docker compose exec -T postgres psql -U n8n -d n8n < /backups/n8n_20260101.sql
# Paso 3: Arrancar n8n nuevamente
docker compose start n8nRestaurar solo los workflows desde JSON
Si solo necesitas recuperar los workflows (sin historial de ejecuciones ni configuraciones de usuario):
docker compose exec n8n n8n import:workflow --input=/backups/workflows/Tip: te recomiendo probar la restauración al menos una vez antes de que la necesites de verdad. No hay nada peor que descubrir que tu backup no funciona justo cuando lo necesitas con urgencia.
Cómo migrar n8n a un nuevo servidor usando backup
El proceso de backup y restaurar workflows en n8n también sirve perfectamente para migrar tu instancia entre servidores. El procedimiento es el siguiente:
- Exporta la base de datos y los workflows del servidor origen usando cualquiera de los métodos que vimos arriba.
- Instala n8n en el servidor destino con la misma
N8N_ENCRYPTION_KEY(esto es crítico). - Importa la base de datos en el servidor destino.
- Verifica que las credenciales funcionan correctamente ejecutando un workflow de prueba.
El punto más importante aquí: debes usar la misma N8N_ENCRYPTION_KEY. Sin ella, las credenciales almacenadas no se podrán descifrar en el nuevo servidor y tendrás que reconfigurarlas todas manualmente. Puedes encontrar esta clave en tu archivo .env o en las variables de entorno de Docker.
Mejores prácticas para backup y restaurar workflows en n8n
Después de administrar varias instancias de n8n, estas son las prácticas que realmente funcionan:
- Combina métodos: usa el backup de base de datos como respaldo principal y la exportación JSON como respaldo secundario. Así tienes doble protección.
- Guarda backups fuera del servidor: si el servidor muere, tus backups locales mueren con él. Usa almacenamiento externo como Amazon S3, Google Cloud Storage o incluso un simple
rsynca otro servidor. - Guarda la
N8N_ENCRYPTION_KEYpor separado: en un gestor de contraseñas o en un lugar seguro. Sin esta clave, tus credenciales son irrecuperables. - Prueba la restauración periódicamente: un backup que no has probado restaurar no es un backup, es una esperanza.
- Usa PostgreSQL en producción: permite backups en caliente sin detener n8n, lo que significa cero tiempo de inactividad.
- Monitorea que el cron funcione: revisa el log
/var/log/n8n-backup.logregularmente para asegurarte de que los backups se están ejecutando.
Preguntas frecuentes sobre backup y restaurar workflows en n8n
¿Cada cuánto debo hacer backup de n8n?
Depende de qué tan frecuentemente modificas tus workflows. Para la mayoría de las instalaciones, un backup diario automático es suficiente. Si haces cambios constantes durante el día, podrías configurar el cron para que corra cada 6 o 12 horas.
¿Puedo restaurar un backup de n8n en una versión diferente?
Generalmente sí, pero con cuidado. n8n es compatible hacia adelante (puedes importar un backup de una versión anterior en una más nueva). Sin embargo, restaurar un backup de una versión nueva en una versión antigua puede causar problemas. Lo más seguro es usar la misma versión o una superior.
¿Qué pasa si pierdo la N8N_ENCRYPTION_KEY?
Las credenciales almacenadas se vuelven irrecuperables. Los workflows se restauran sin problema, pero tendrás que reconfigurar manualmente todas las conexiones a servicios externos (APIs, bases de datos, etc.). Por eso es fundamental guardar esta clave en un lugar seguro fuera del servidor.
¿Es mejor hacer backup con la CLI o con la base de datos?
Lo ideal es combinar ambos. El backup de base de datos es más completo (incluye historial de ejecuciones y configuraciones), mientras que la exportación JSON via CLI es más portátil y fácil de inspeccionar. Usar los dos métodos te da la mejor cobertura posible.
¿Vale la pena? Nuestra opinión
Tener un sistema de backup y restaurar workflows en n8n bien configurado es tan importante como los propios workflows. La buena noticia es que configurarlo toma menos de 30 minutos con el script automático que te compartí arriba.
Mi recomendación: combina el backup diario de la base de datos con la exportación periódica de workflows en JSON para tener doble protección. Guarda copias fuera del servidor, protege tu N8N_ENCRYPTION_KEY y prueba la restauración al menos una vez al mes.
Si todavía no tienes n8n instalado, revisa nuestra guía de instalación de n8n para empezar desde cero. Y si quieres entender mejor cómo funcionan los flujos de trabajo, no te pierdas nuestra guía sobre qué es un workflow en n8n.
Dedica esos 30 minutos hoy. Tu yo del futuro te lo va a agradecer cuando algo falle (porque siempre falla).