✨😃 Automatische Workflow-Sicherung zu Google Drive

Experte

Dies ist ein Other-Bereich Automatisierungsworkflow mit 22 Nodes. Hauptsächlich werden N8n, Set, Code, Limit, Telegram und andere Nodes verwendet. ✨😃 Automatische Workflow-Backups zu Google Drive

Voraussetzungen
  • Telegram Bot Token
  • Google Drive API-Anmeldedaten

Kategorie

Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
  "id": "o4sdVtTrkuZXDATf",
  "meta": {
    "instanceId": "31e69f7f4a77bf465b805824e303232f0227212ae922d12133a0f96ffeab4fef",
    "templateCredsSetupCompleted": true
  },
  "name": "✨😃Automated Workflow Backups to Google Drive",
  "tags": [],
  "nodes": [
    {
      "id": "f3eba5f7-534e-4eaa-ac84-850d51ff2936",
      "name": "Bei Klick auf 'Ausführen'",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        620,
        -140
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "383e4bed-38ec-4b2f-890c-9b0d9cda8e11",
      "name": "Über Elemente iterieren",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        1140,
        340
      ],
      "parameters": {
        "options": {
          "reset": false
        }
      },
      "typeVersion": 3
    },
    {
      "id": "38c4c909-fa18-4fa3-abf5-6b9bd2d46718",
      "name": "Täglich",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        620,
        80
      ],
      "parameters": {
        "rule": {
          "interval": [
            {}
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "67f62b6e-fe37-4638-89ce-9fe1de041282",
      "name": "Ordner mit Zeitstempel erstellen",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        1220,
        -40
      ],
      "parameters": {
        "name": "=n8n-Workflow-Backups-{{ $json.datetime }}",
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive"
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "list",
          "value": "root",
          "cachedResultName": "/ (Root folder)"
        },
        "resource": "folder"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "UhdXGYLTAJbsa0xX",
          "name": "Google Drive account"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "cfbda56a-2d14-4d64-b40d-89961c0cf0f4",
      "name": "Datum/Uhrzeit abrufen",
      "type": "n8n-nodes-base.set",
      "position": [
        920,
        -40
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "2589e80c-e8c3-4872-bd7a-d3e92f4a6ab7",
              "name": "datetime",
              "type": "string",
              "value": "={{ $now }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "93e8097f-9e7d-49ff-9133-4fd8590f7e31",
      "name": "Workflows abrufen",
      "type": "n8n-nodes-base.n8n",
      "position": [
        1520,
        -40
      ],
      "parameters": {
        "filters": {},
        "requestOptions": {}
      },
      "credentials": {
        "n8nApi": {
          "id": "49QOgnBpyVcT7XQF",
          "name": "n8n account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "d848ce1d-beb7-4e25-82ac-ed0e8f9523e0",
      "name": "Auf 200 begrenzen",
      "type": "n8n-nodes-base.limit",
      "position": [
        1820,
        -40
      ],
      "parameters": {
        "maxItems": 200
      },
      "typeVersion": 1
    },
    {
      "id": "18f61908-97ce-478c-8544-cfedef22a94c",
      "name": "Workflow in JSON-Datei konvertieren",
      "type": "n8n-nodes-base.convertToFile",
      "position": [
        1400,
        340
      ],
      "parameters": {
        "options": {
          "fileName": "={{ $json.name }}"
        },
        "operation": "toJson"
      },
      "typeVersion": 1.1
    },
    {
      "id": "97690d84-a0cd-4169-83a8-e4f1d189837e",
      "name": "JSON-Datei in Google Drive-Ordner speichern",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        1600,
        340
      ],
      "parameters": {
        "name": "={{ $binary.data.fileName }}.json",
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive"
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Create Folder with DateTime Stamp').item.json.id }}"
        }
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "UhdXGYLTAJbsa0xX",
          "name": "Google Drive account"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "452c0ce8-6e1f-41d7-a94c-25c7abbc32ad",
      "name": "Einmal ausführen",
      "type": "n8n-nodes-base.noOp",
      "position": [
        980,
        720
      ],
      "parameters": {},
      "executeOnce": true,
      "typeVersion": 1
    },
    {
      "id": "aadc54d7-2458-4b5b-aa65-07aff52626d2",
      "name": "Ordnernamen durchsuchen",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        1180,
        720
      ],
      "parameters": {
        "limit": 10,
        "filter": {
          "whatToSearch": "folders"
        },
        "options": {},
        "resource": "fileFolder",
        "queryString": "n8n-Workflow-Backups"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "UhdXGYLTAJbsa0xX",
          "name": "Google Drive account"
        }
      },
      "executeOnce": true,
      "typeVersion": 3
    },
    {
      "id": "fcb210bf-4947-4178-b85a-8425eb72d937",
      "name": "Ordner löschen",
      "type": "n8n-nodes-base.googleDrive",
      "onError": "continueRegularOutput",
      "position": [
        1600,
        720
      ],
      "parameters": {
        "options": {
          "deletePermanently": true
        },
        "resource": "folder",
        "operation": "deleteFolder",
        "folderNoRootId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $json.id }}"
        }
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "UhdXGYLTAJbsa0xX",
          "name": "Google Drive account"
        }
      },
      "typeVersion": 3,
      "alwaysOutputData": true
    },
    {
      "id": "ccdc0655-75e9-4c6b-8ebb-76477733289b",
      "name": "Abschlussmeldung",
      "type": "n8n-nodes-base.telegram",
      "position": [
        960,
        1040
      ],
      "webhookId": "382a3b43-b83f-47b1-a276-67c6b98a441a",
      "parameters": {
        "text": "={{ $now }}\nWorkflows Backup Complete\n{{ $('Create Folder with DateTime Stamp').item.json.name }}\nhttps://drive.google.com/drive/folders/{{ $('Create Folder with DateTime Stamp').item.json.id }}",
        "chatId": "={{ $env.TELEGRAM_CHAT_ID }}",
        "additionalFields": {
          "parse_mode": "HTML",
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "pAIFhguJlkO3c7aQ",
          "name": "Telegram account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "972b4921-803f-4510-9894-9acd2713816a",
      "name": "Notizzettel",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1020,
        220
      ],
      "parameters": {
        "color": 5,
        "width": 800,
        "height": 360,
        "content": "## Save Workflows to Google Drive"
      },
      "typeVersion": 1
    },
    {
      "id": "254d12e9-0ca6-4953-b375-66a883b44d41",
      "name": "Notizzettel1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        840,
        620
      ],
      "parameters": {
        "color": 3,
        "width": 980,
        "height": 300,
        "content": "## Keep Most Recent 7 Folders (Days) and Delete Others"
      },
      "typeVersion": 1
    },
    {
      "id": "a1f25512-16d1-45e9-8b18-706288543e03",
      "name": "Notizzettel2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        840,
        960
      ],
      "parameters": {
        "width": 340,
        "height": 260,
        "content": "## Notify User via Telegram"
      },
      "typeVersion": 1
    },
    {
      "id": "36182be7-f575-4f28-8d63-39802b8428ba",
      "name": "Zu löschende Ordner finden",
      "type": "n8n-nodes-base.code",
      "position": [
        1400,
        720
      ],
      "parameters": {
        "jsCode": "// Get all input items and sort by name in descending order\nconst sortedItems = $input.all().sort((a, b) => {\n  if (!a.name || !b.name) return 0;\n  return b.name.localeCompare(a.name);\n});\n\n// Get items older than 7 days\nconst olderItems = sortedItems.slice(7);\n\nreturn olderItems\n\n"
      },
      "typeVersion": 2
    },
    {
      "id": "3a31ee24-3d6c-4340-9c5e-bb1c1cce6151",
      "name": "Notizzettel3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1740,
        -160
      ],
      "parameters": {
        "width": 260,
        "height": 340,
        "content": "## Limit for Debugging\nRemove this once you have it up and running"
      },
      "typeVersion": 1
    },
    {
      "id": "df815c43-f6f9-44b8-9503-6a8d0167b844",
      "name": "Notizzettel4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1440,
        -160
      ],
      "parameters": {
        "width": 260,
        "height": 340,
        "content": "## Get All Workflows\n"
      },
      "typeVersion": 1
    },
    {
      "id": "c0433a5f-7f6c-4af4-bbbb-ca914aeef33f",
      "name": "Notizzettel5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1140,
        -160
      ],
      "parameters": {
        "width": 260,
        "height": 340,
        "content": "## Create NEW Google Folder\n"
      },
      "typeVersion": 1
    },
    {
      "id": "adba380e-16c2-4647-a701-9d5cec1baa0f",
      "name": "Notizzettel6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        840,
        -160
      ],
      "parameters": {
        "width": 260,
        "height": 340,
        "content": "## Get DateTime Stamp\n"
      },
      "typeVersion": 1
    },
    {
      "id": "4041f4fb-2b51-48e7-af55-b7351a52e4ea",
      "name": "Notizzettel7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -160,
        -160
      ],
      "parameters": {
        "color": 7,
        "width": 700,
        "height": 1480,
        "content": "# ✨😃 Automated Workflow Backups to Google Drive\n\nThis workflow automates the process of backing up your n8n workflows to Google Drive daily. It creates timestamped folders, saves workflows as JSON files, and manages old backups by retaining only the most recent seven days of data. Notifications are sent via Telegram to keep you informed of the backup status.\n\n## How It Works\n\n### Backup Creation Process 🗂️\n- **Triggering Backups**: The workflow starts with either a manual trigger or a scheduled trigger that runs daily.\n- **Folder Creation**: Creates a new folder in Google Drive with a timestamped name (e.g., `n8n-Workflow-Backups-YYYY-MM-DD`).\n- **Workflow Retrieval**: Fetches all workflows from your n8n instance.\n- **File Conversion**: Converts each workflow into a JSON file for storage.\n- **File Upload**: Saves the JSON files into the newly created Google Drive folder.\n\n### Backup Management 🔄\n- **Folder Search**: Searches for existing backup folders in Google Drive with names matching `n8n-Workflow-Backups`.\n- **Retention Policy**: Identifies folders older than seven days using a custom JavaScript function and deletes them permanently to free up space.\n\n### Notifications 📲\n- **Telegram Alerts**: Sends a message via Telegram once the backup process is complete, including the folder name and a link to access it in Google Drive.\n\n## Setup Steps\n\n### API Configuration 🔑\n1. **Google Drive Integration**:\n   - Set up Google Drive OAuth2 credentials in n8n.\n   - Specify the root folder or desired location for backups.\n2. **n8n API Access**:\n   - Configure n8n API credentials to allow fetching workflows.\n3. **Telegram Notifications**:\n   - Add your Telegram bot credentials and chat ID for notification delivery.\n\n### Workflow Customization ⚙️\n1. Define the schedule for automatic backups (e.g., daily at midnight).\n2. Adjust the retention period if you need more or fewer days of backups.\n3. Customize the Telegram message format as needed.\n\n### Testing & Deployment 🚀\n1. Run the workflow manually to verify folder creation and file uploads.\n2. Check that old folders are deleted correctly after seven days.\n3. Confirm Telegram notifications are sent with accurate details.\n\n## Use Case Scenarios\nThis workflow is perfect for teams or individuals who want to ensure their n8n workflows are securely backed up and organized. It is especially useful for:\n- Protecting against accidental data loss.\n- Automating routine administrative tasks.\n\n\nBy combining automated backups, retention management, and real-time notifications, this workflow ensures your n8n workflows are always safe and accessible!\n"
      },
      "typeVersion": 1
    }
  ],
  "active": true,
  "pinData": {},
  "settings": {
    "timezone": "America/Vancouver",
    "callerPolicy": "workflowsFromSameOwner",
    "executionOrder": "v1"
  },
  "versionId": "11ff8d25-bbc5-4681-b292-ac60a00fd7b0",
  "connections": {
    "38c4c909-fa18-4fa3-abf5-6b9bd2d46718": {
      "main": [
        [
          {
            "node": "cfbda56a-2d14-4d64-b40d-89961c0cf0f4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "452c0ce8-6e1f-41d7-a94c-25c7abbc32ad": {
      "main": [
        [
          {
            "node": "aadc54d7-2458-4b5b-aa65-07aff52626d2",
            "type": "main",
            "index": 0
          },
          {
            "node": "ccdc0655-75e9-4c6b-8ebb-76477733289b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "cfbda56a-2d14-4d64-b40d-89961c0cf0f4": {
      "main": [
        [
          {
            "node": "67f62b6e-fe37-4638-89ce-9fe1de041282",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d848ce1d-beb7-4e25-82ac-ed0e8f9523e0": {
      "main": [
        [
          {
            "node": "383e4bed-38ec-4b2f-890c-9b0d9cda8e11",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "93e8097f-9e7d-49ff-9133-4fd8590f7e31": {
      "main": [
        [
          {
            "node": "d848ce1d-beb7-4e25-82ac-ed0e8f9523e0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "383e4bed-38ec-4b2f-890c-9b0d9cda8e11": {
      "main": [
        [
          {
            "node": "452c0ce8-6e1f-41d7-a94c-25c7abbc32ad",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "18f61908-97ce-478c-8544-cfedef22a94c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "aadc54d7-2458-4b5b-aa65-07aff52626d2": {
      "main": [
        [
          {
            "node": "36182be7-f575-4f28-8d63-39802b8428ba",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f3eba5f7-534e-4eaa-ac84-850d51ff2936": {
      "main": [
        [
          {
            "node": "cfbda56a-2d14-4d64-b40d-89961c0cf0f4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "36182be7-f575-4f28-8d63-39802b8428ba": {
      "main": [
        [
          {
            "node": "fcb210bf-4947-4178-b85a-8425eb72d937",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "18f61908-97ce-478c-8544-cfedef22a94c": {
      "main": [
        [
          {
            "node": "97690d84-a0cd-4169-83a8-e4f1d189837e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "67f62b6e-fe37-4638-89ce-9fe1de041282": {
      "main": [
        [
          {
            "node": "93e8097f-9e7d-49ff-9133-4fd8590f7e31",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "97690d84-a0cd-4169-83a8-e4f1d189837e": {
      "main": [
        [
          {
            "node": "383e4bed-38ec-4b2f-890c-9b0d9cda8e11",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Häufig gestellte Fragen

Wie verwende ich diesen Workflow?

Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.

Für welche Szenarien ist dieser Workflow geeignet?

Experte - Sonstiges

Ist es kostenpflichtig?

Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.

Workflow-Informationen
Schwierigkeitsgrad
Experte
Anzahl der Nodes22
Kategorie1
Node-Typen12
Schwierigkeitsbeschreibung

Für fortgeschrittene Benutzer, komplexe Workflows mit 16+ Nodes

Autor
Joseph LePage

Joseph LePage

@joe

As an AI Automation consultant based in Canada, I partner with forward-thinking organizations to implement AI solutions that streamline operations and drive growth.

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34