8
n8n 中文网amn8n.com

每4小时将所有n8n工作流备份到Google Drive

中级

这是一个DevOps, Multimodal AI领域的自动化工作流,包含 12 个节点。主要使用 N8n, Set, Code, Merge, Slack 等节点。 自动化工作流备份至 Google Drive 并发送 Slack 通知

前置要求
  • Slack Bot Token 或 Webhook URL
  • Google Drive API 凭证
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "vnlmgDq8SZlzMcfi",
  "meta": {
    "instanceId": "50631c03cbd88440965b74e5a58aada5437cbc43e90372b516e36154908ad374",
    "templateId": "2886"
  },
  "name": "每4小时将所有n8n工作流备份到Google Drive",
  "tags": [],
  "nodes": [
    {
      "id": "26b6a8ca-cf9e-4eab-9f2a-841f975a4741",
      "name": "点击“执行”时",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        240,
        448
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "c42307c1-0d95-4500-85e8-a89234a7e2e7",
      "name": "创建新文件夹",
      "type": "n8n-nodes-base.googleDrive",
      "onError": "continueErrorOutput",
      "position": [
        464,
        560
      ],
      "parameters": {
        "name": "=Workflow Backups {{ $now.format('cccc t dd-MM-yyyy') }}",
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive"
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "list",
          "value": "14Mui2em5keVRWaoq3dlrvaX8KNRxw2h2",
          "cachedResultUrl": "https://drive.google.com/drive/folders/14Mui2em5keVRWaoq3dlrvaX8KNRxw2h2",
          "cachedResultName": "N8N Backups"
        },
        "resource": "folder"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "q0ULpbFEGZLCh5Hf",
          "name": "Google Drive account"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "139487f6-1ef0-4835-bdef-a896dbbdf942",
      "name": "计划触发器",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        240,
        640
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "hours",
              "hoursInterval": 4
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "724c83f9-9e07-4a87-9f25-d1631a8ef403",
      "name": "完成通知",
      "type": "n8n-nodes-base.slack",
      "position": [
        1808,
        192
      ],
      "webhookId": "0a1c0309-0a0b-4e37-972d-b229684c2d52",
      "parameters": {
        "text": "=✅ Backup has completed - {{ $('Get many workflows').all().length }} workflows have been processed.",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "id",
          "value": "C099YS0V3M2"
        },
        "otherOptions": {}
      },
      "credentials": {
        "slackApi": {
          "id": "VI4wP9VPIS3KDiow",
          "name": "Slack account"
        }
      },
      "executeOnce": true,
      "typeVersion": 2.2
    },
    {
      "id": "939d7dc3-2080-4ac7-9609-ef598b018eb2",
      "name": "失败通知",
      "type": "n8n-nodes-base.slack",
      "position": [
        1808,
        752
      ],
      "webhookId": "8e3c13d8-3bcc-4832-b511-30fc816350c8",
      "parameters": {
        "text": "=❌ Error in the N8N Backup Workflow",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "id",
          "value": "C099YS0V3M2"
        },
        "otherOptions": {}
      },
      "credentials": {
        "slackApi": {
          "id": "VI4wP9VPIS3KDiow",
          "name": "Slack account"
        }
      },
      "executeOnce": true,
      "typeVersion": 2.2
    },
    {
      "id": "53a6e217-05cb-4d9d-93ba-686cfec5e7b7",
      "name": "转换为文件1",
      "type": "n8n-nodes-base.convertToFile",
      "position": [
        848,
        240
      ],
      "parameters": {
        "mode": "each",
        "options": {
          "fileName": "={{ $json.name + '.json' }}"
        },
        "operation": "toJson"
      },
      "typeVersion": 1.1
    },
    {
      "id": "80cdeba1-1d1c-4b20-994b-09d1791cf534",
      "name": "压缩",
      "type": "n8n-nodes-base.compression",
      "position": [
        1200,
        384
      ],
      "parameters": {
        "fileName": "={{ 'workflows_backup_' + new Date().toISOString().slice(0,10) + '.zip' }}",
        "operation": "compress",
        "outputFormat": "=zip",
        "binaryPropertyName": "={{ Object.keys($binary).join(',') }}"
      },
      "typeVersion": 1.1
    },
    {
      "id": "96167a67-bc95-4414-bf61-52d225ffc43d",
      "name": "代码",
      "type": "n8n-nodes-base.code",
      "position": [
        1024,
        320
      ],
      "parameters": {
        "jsCode": "let binaries = {}, binary_keys = [];\n\nfor (const [index, inputItem] of Object.entries($input.all())) {\n  binaries[`data_${index}`] = inputItem.binary.data;\n  binary_keys.push(`data_${index}`);\n}\n\nreturn [{\n    json: {\n        binary_keys: binary_keys.join(',')\n    },\n    binary: binaries\n}];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "502b946e-2543-486a-aaa6-f3a11bdfde80",
      "name": "上传文件",
      "type": "n8n-nodes-base.googleDrive",
      "onError": "continueErrorOutput",
      "position": [
        1568,
        464
      ],
      "parameters": {
        "name": "={{ 'workflows_backup_' + new Date().toISOString().slice(0,10) + '.zip' }}",
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive"
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $json.folderId }}"
        },
        "inputDataFieldName": "=data"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "q0ULpbFEGZLCh5Hf",
          "name": "Google Drive account"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "e4cfa753-d0c7-452f-9f10-0cd22d57d2ec",
      "name": "Get many workflows",
      "type": "n8n-nodes-base.n8n",
      "position": [
        688,
        192
      ],
      "parameters": {
        "filters": {},
        "returnAll": "=1",
        "requestOptions": {}
      },
      "credentials": {
        "n8nApi": {
          "id": "d5L8dGBpYmfBaLlT",
          "name": "n8n account"
        }
      },
      "retryOnFail": true,
      "typeVersion": 1,
      "alwaysOutputData": true
    },
    {
      "id": "261700eb-b41d-4eb4-883a-87c10b6600e3",
      "name": "设置新文件夹ID",
      "type": "n8n-nodes-base.set",
      "position": [
        1200,
        544
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "d76278da-3d66-4776-893f-d7b7cd8bdd04",
              "name": "folderId",
              "type": "string",
              "value": "={{ $json.id }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "e5ae88c5-5246-409f-acae-087c8de30a08",
      "name": "合并",
      "type": "n8n-nodes-base.merge",
      "position": [
        1392,
        464
      ],
      "parameters": {
        "mode": "combine",
        "options": {},
        "combineBy": "combineByPosition"
      },
      "typeVersion": 3.2
    }
  ],
  "active": true,
  "pinData": {},
  "settings": {},
  "versionId": "c7acf018-a4f5-437b-9ae3-0d9298408c3b",
  "connections": {
    "Code": {
      "main": [
        [
          {
            "node": "Compression",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge": {
      "main": [
        [
          {
            "node": "Upload file",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Compression": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload file": {
      "main": [
        [
          {
            "node": "Completed Notification",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Failed Notification",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Convert to File1": {
      "main": [
        [
          {
            "node": "Code",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "create new folder",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set New Folder Id": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "create new folder": {
      "main": [
        [
          {
            "node": "Set New Folder Id",
            "type": "main",
            "index": 0
          },
          {
            "node": "Get many workflows",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Failed Notification",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get many workflows": {
      "main": [
        [
          {
            "node": "Convert to File1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "On clicking 'execute'": {
      "main": [
        [
          {
            "node": "create new folder",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。

这个工作流适合什么场景?

中级 - 开发运维, 多模态 AI

需要付费吗?

本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。

工作流信息
难度等级
中级
节点数量12
分类2
节点类型10
难度说明

适合有一定经验的用户,包含 6-15 个节点的中等复杂度工作流

作者
外部链接
在 n8n.io 查看

分享此工作流