Tägliches Datenbank-Backup auf GitHub (CSV-Format) - n8n-Workflow

Automatisieren Sie tägliche PostgreSQL-Backups mit diesem robusten n8n-Workflow. Wandeln Sie Tabellen in das CSV-Format um und laden Sie sie in ein GitHub-Repository hoch oder aktualisieren Sie sie dort, um die Datenintegrität und Versionskontrolle sicherzustellen.

Workflow-Vorschau

Bereit zur Automatisierung?

Laden Sie diese n8n-Workflow-Vorlage herunter und beginnen Sie sofort mit der Nutzung.

Zielgruppe


  • DevOps-Ingenieure, die automatisierte Datenbankarchivierung benötigen.

  • Entwickler, die tägliche, versionskontrollierte Backups von Produktionsdaten benötigen.

  • Benutzer, die nach fortgeschrittenen Beispielen für bedingte Logik innerhalb eines n8n-Workflows suchen.

  • Datenadministratoren, die zuverlässige, automatisierte Datenexportlösungen mithilfe von n8n-Vorlagen suchen.

Überblick

Die Aufrechterhaltung zuverlässiger Datenbank-Backups ist für jede Anwendung von entscheidender Bedeutung. Dieser spezialisierte n8n-Workflow bietet eine umfassende Lösung für die automatisierte Extraktion, Konvertierung und Archivierung von PostgreSQL-Daten unter Verwendung von GitHub zur Speicherung und Versionskontrolle. Durch die Nutzung eines periodischen n8n-Triggers stellt das System sicher, dass alle 24 Stunden Daten aus den angegebenen Datenbanktabellen abgefragt, in das universelle CSV-Format umgewandelt und bedingt in einem Repository gespeichert werden. Dieser ausgefeilte Prozess, der vollständig innerhalb eines n8n-Workflows erstellt wird, ermittelt, ob eine Tabelle neu ist (Upload erforderlich) oder bereits existiert (Aktualisierung erforderlich), was Effizienz gewährleistet und unnötige Dateiduplizierung verhindert. Diese robuste n8n-Knotenkonfiguration ist eine hervorragende Ergänzung für Ihr operatives Monitoring-Toolkit.

Funktionsweise

Diese Automatisierung wird durch den n8n-Trigger Tägliche Zeitplanung ausgelöst, der so eingestellt ist, dass er alle 24 Stunden läuft.


  1. Vorbereitung (GitHub-Prüfung): Der n8n-Workflow verwendet zuerst den GitHub-n8n-Knoten, um alle vorhandenen Dateien im Ziel-Repository aufzulisten. Diese Dateinamen werden für eine schnelle Überprüfung zu einer einzigen Liste zusammengefasst.

  2. Tabellenauflistung (Postgres): Gleichzeitig verbindet sich der PostgreSQL-n8n-Knoten mit der Datenbank, um eine Liste aller Tabellennamen aus dem information_schema.tables im Schema public abzurufen.

  3. Datenextraktionsschleife: Der Workflow tritt in eine primäre Stapelschleife (Items durchlaufen) ein, um jeden Tabellennamen einzeln zu verarbeiten. Für jede Tabelle führt ein PostgreSQL-n8n-Knoten eine SELECT -Abfrage aus, um alle Daten abzurufen.

  4. Konvertierung: Die abgerufenen JSON-Daten der Tabelle werden dann an den n8n-Knoten In Datei umwandeln weitergegeben, der die Daten in eine binäre CSV-Datei umwandelt. Die resultierende Datei wird dynamisch nach dem Quelltabellennamen benannt (z. B. users.csv).

  5. Bedingter Upload/Aktualisierung: Ein nachfolgender n8n-Knoten (Auf einzelne Elemente aufteilen) bereitet die CSV-Datei für die endgültige Aktion vor. Ein WENN-n8n-Knoten (Prüfen, ob Datei im Repository existiert) vergleicht den CSV-Dateinamen mit der Liste der in Schritt 1 aggregierten GitHub-Dateinamen.

  6. Aktion:

Wenn WAHR (Datei existiert): Der Workflow führt den n8n-Knoten Datei aktualisieren [GITHUB] aus und committet die neuen CSV-Binärdaten an den vorhandenen Dateipfad.
* Wenn FALSCH (Neue Tabelle): Der Workflow führt den n8n-Knoten Datei hochladen [GITHUB] aus und erstellt eine neue Datei im Repository.

Installationsanleitung

Um diese leistungsstarke n8n-Workflow-Vorlage bereitzustellen, befolgen Sie diese Schritte:


  1. Import: Kopieren Sie den bereitgestellten JSON-Code und importieren Sie ihn direkt in Ihre n8n-Instanz über die Option „Workflows“ > „Neu“ > „Aus JSON importieren“.

  2. PostgreSQL-Anmeldeinformationen: Suchen Sie die PostgreSQL-n8n-Knoten (Tabellen auflisten und Tabellen auflisten1). Sie müssen die erforderlichen Anmeldeinformationen für die Verbindung zu Ihrer Datenbank konfigurieren. Stellen Sie sicher, dass die Anmeldeinformationen den Zugriff auf information_schema.tables für Auflistungszwecke sowie SELECT-Berechtigungen für die Tabellen, die Sie sichern möchten, erlauben.

  3. GitHub-Anmeldeinformationen: Konfigurieren Sie die OAuth2-Anmeldeinformationen für die GitHub-n8n-Knoteninstanzen. Dieses Konto muss Lese-/Schreibzugriff auf das Ziel-Repository (github-repo in der Vorlage) haben, um Dateien aufzulisten, zu aktualisieren und hochzuladen.

  4. Konfiguration: Aktualisieren Sie die Parameter des GitHub-n8n-Knotens, um Ihre spezifischen GitHub „Owner“- und „Repository“-Namen widerzuspiegeln.

  5. Aktivieren: Speichern Sie den Workflow und schalten Sie den Schalter von „Inaktiv“ auf „Aktiv“. Der n8n-Trigger Tägliche Zeitplanung führt das Backup nun alle 24 Stunden aus.

Node-Details

Tägliche Zeitplanung (n8n-Trigger): Der startende n8n-Knoten, der dafür verantwortlich ist, die gesamte Backup-Automatisierung einmal alle 24 Stunden auszuführen.
Dateien aus Repository auflisten [GITHUB] (GitHub n8n-Knoten): Listet den aktuellen Inhalt des Ziel-GitHub-Repositorys auf, um festzustellen, welche Tabellen bereits vorhandene Backups haben.
Dateinamen zusammenfassen [GITHUB] (Item Lists n8n-Knoten): Fasst die Namen der vorhandenen Dateien von GitHub zusammen und optimiert so die Prüfung, die später vom WENN-Knoten durchgeführt wird.
Tabellen auflisten1 (PostgreSQL n8n-Knoten): Fragt das System-Schema der Datenbank (information_schema) ab, um eine Liste aller zu sichernden Tabellen abzurufen.
Tabellen auflisten (PostgreSQL n8n-Knoten): Wird innerhalb der Schleife ausgeführt und fragt dynamisch alle Daten (operation: select, returnAll: true) aus einem spezifischen Tabellennamen ab, der vom vorherigen n8n-Knoten empfangen wurde.
In Datei umwandeln1 (In Datei umwandeln n8n-Knoten): Nimmt die Rohdaten von PostgreSQL (im JSON-Format) entgegen und wandelt sie in eine binäre CSV-Datei um, um die Kompatibilität mit Versionskontrollsystemen zu gewährleisten. Der Dateiname-Parameter wird dynamisch mithilfe des Tabellennamens festgelegt.
Prüfen, ob Datei im Repository existiert (WENN n8n-Knoten): Der zentrale Ablaufsteuerungsknoten von n8n, der die aggregierte Liste vorhandener Dateien verwendet, um zu entscheiden, ob die aktuelle CSV-Datei aktualisiert (WAHR) oder als neu hochgeladen (FALSCH) werden soll.
Datei aktualisieren [GITHUB] / Datei hochladen [GITHUB] (GitHub n8n-Knoten): Diese Knoten übernehmen das endgültige Committen der CSV-Binärdaten in das Repository und stellen sicher, dass das tägliche Backup gespeichert und versioniert wird.

Ähnliche n8n-Workflows

Kostenlos

Knoten: 9 Knoten
Aktualisiert: Dezember 26 2025
Alle anzeigen
Erstellt von

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

Hervorgehoben*