Copia de Seguridad Diaria de la Base de Datos a GitHub (Formato CSV) - Flujo de trabajo de n8n

Automatice las copias de seguridad diarias de PostgreSQL con este robusto flujo de trabajo de n8n. Convierta las tablas a formato CSV y súbalas o actualícelas en un repositorio de GitHub para garantizar la integridad de los datos y el control de versiones.

Vista previa del flujo

¿Listo para automatizar?

Descarga esta plantilla de flujo de trabajo de n8n y comienza a usarla al instante.

¿Para quién es ideal?


  • Ingenieros de DevOps que necesitan archivo automatizado de bases de datos.

  • Desarrolladores que requieren copias de seguridad diarias con control de versiones de los datos de producción.

  • Usuarios que buscan ejemplos avanzados de lógica condicional dentro de un flujo de trabajo de n8n.

  • Administradores de datos que buscan soluciones fiables y automatizadas de exportación de datos utilizando plantillas de n8n.

Descripción general

Mantener copias de seguridad fiables de la base de datos es crucial para cualquier aplicación. Este flujo de trabajo especializado de n8n proporciona una solución integral para la extracción, conversión y archivo automatizados de datos de PostgreSQL, utilizando GitHub para el almacenamiento y el control de versiones. Mediante el uso de un disparador periódico de n8n, el sistema garantiza que cada 24 horas se consulten los datos de las tablas de base de datos especificadas, se transformen al formato CSV universal y se suban condicionalmente a un repositorio. Este sofisticado proceso, construido enteramente dentro de un flujo de trabajo de n8n, determina si una tabla es nueva (requiere una subida) o existente (requiere una actualización), proporcionando eficiencia y evitando duplicaciones de archivos innecesarias. Esta robusta configuración de nodos de n8n es una excelente adición a su kit de herramientas de monitorización operativa.

Cómo funciona

Esta automatización se inicia mediante el disparador de n8n Daily Schedule, configurado para ejecutarse cada 24 horas.


  1. Preparación (Comprobación de GitHub): El flujo de trabajo de n8n utiliza primero el nodo de n8n de GitHub para listar todos los archivos existentes en el repositorio de destino. Estos nombres de archivo se agregan en una lista única para una búsqueda rápida.

  2. Listado de Tablas (Postgres): Simultáneamente, el nodo de n8n de PostgreSQL se conecta a la base de datos para recuperar una lista de todos los nombres de tabla de information_schema.tables en el esquema public.

  3. Bucle de Extracción de Datos: El flujo de trabajo entra en un bucle por lotes principal (Loop Over Items) para procesar cada nombre de tabla individualmente. Para cada tabla, un nodo de n8n de PostgreSQL ejecuta una consulta SELECT para recuperar todos los datos.

  4. Conversión: Los datos JSON recuperados de la tabla se pasan luego al nodo de n8n Convert to File, que transforma los datos en un archivo CSV binario. El archivo resultante se nombra dinámicamente según el nombre de la tabla de origen (por ejemplo, usuarios.csv).

  5. Subida/Actualización Condicional: Un nodo posterior de n8n Split to single items prepara el archivo CSV para la acción final. Un nodo IF de n8n (Check if file exists in repository) compara el nombre del archivo CSV con la lista de nombres de archivo de GitHub agregados del Paso 1.

  6. Acción:

Si es Verdadero (El archivo existe): El flujo de trabajo ejecuta el nodo de n8n Update file [GITHUB], subiendo los nuevos datos binarios CSV a la ruta de archivo existente.
* Si es Falso (Tabla nueva): El flujo de trabajo ejecuta el nodo de n8n Upload file [GITHUB], creando un nuevo archivo en el repositorio.

Guía de instalación

Para implementar esta potente plantilla de flujo de trabajo de n8n, siga estos pasos:


  1. Importar: Copie el código JSON proporcionado e impórtelo directamente en su instancia de n8n a través de la opción 'Workflows' > 'New' > 'Import from JSON'.

  2. Credenciales de PostgreSQL: Localice el nodo de n8n de PostgreSQL (List tables y List tables1). Debe configurar las credenciales requeridas para conectarse a su base de datos. Asegúrese de que las credenciales permitan el acceso a information_schema.tables para fines de listado y permisos SELECT sobre las tablas que tiene previsto respaldar.

  3. Credenciales de GitHub: Configure las credenciales OAuth2 para las instancias de nodo de GitHub de n8n. Esta cuenta debe tener acceso de lectura/escritura al repositorio de destino (github-repo en la plantilla) para listar, actualizar y subir archivos.

  4. Configuración: Actualice los parámetros del nodo de n8n de GitHub para reflejar sus nombres específicos de 'Propietario' y 'Repositorio' de GitHub.

  5. Activar: Guarde el flujo de trabajo y cambie el interruptor de 'Inactive' a 'Active'. El disparador de n8n Daily Schedule ejecutará ahora la copia de seguridad cada 24 horas.

Detalles del nodo

Daily Schedule (Disparador de n8n): El nodo inicial de n8n, responsable de ejecutar toda la automatización de copia de seguridad una vez cada 24 horas.
List files from repository [GITHUB] (Nodo de n8n de GitHub): Lista el contenido actual del repositorio de GitHub de destino para determinar qué tablas tienen copias de seguridad existentes.
Combine file names [GITHUB] (Nodo de n8n Item Lists): Agrega los nombres de los archivos existentes de GitHub, agilizando la comprobación realizada posteriormente por el nodo IF.
List tables1 (Nodo de n8n de PostgreSQL): Consulta el esquema del sistema de la base de datos (information_schema) para recuperar una lista de todas las tablas que necesitan ser respaldadas.
List tables (Nodo de n8n de PostgreSQL): Ejecutado dentro del bucle, este consulta dinámicamente todos los datos (operation: select, returnAll: true) de un nombre de tabla específico recibido del nodo de n8n anterior.
Convert to File1 (Nodo de n8n Convert To File): Toma los datos brutos de PostgreSQL (formato JSON) y los convierte en un archivo CSV binario, asegurando la compatibilidad con los sistemas de control de versiones. El parámetro del nombre de archivo se establece dinámicamente utilizando el nombre de la tabla.
Check if file exists in repository (Nodo IF de n8n): El nodo central de flujo de control de n8n que utiliza la lista agregada de archivos existentes para decidir si el archivo CSV actual debe actualizarse (True) o subirse como nuevo (False).
Update file [GITHUB] / Upload file [GITHUB] (Nodo de n8n de GitHub): Estos nodos gestionan la subida final de los datos binarios CSV al repositorio, asegurando que la copia de seguridad diaria se almacene y se controle la versión.

Flujos de trabajo de n8n relacionados

Gratis

Nodos: 9 Nodos
Actualizado: Diciembre 26 2025
Ver todo
Creado por

AI and Automation developer. Im implementing n8n and ai tools to automate marketing and sales in companies

Presentado*