n8n 工作流備份|自動備份到 Google Drive

更新於 2026年2月11日

n8n 工作流備份

📥 工作流 JSON 下載GitHub 範例庫 | 💬 社群討論Skool 雲端方程式 Cloud F1

專業導讀

如果你曾經在 n8n 裡辛苦建立了幾十個工作流,某天因為誤刪、系統升級失敗,或是不小心改壞了某個關鍵節點,才發現「沒有備份」時的那種絕望感,我完全理解。

我在經營 雲端方程式 Cloud F1 的過程中,曾經遇過學員因為沒有備份習慣,導致花了兩週建立的客戶自動化流程毀於一旦。後來我們在課程中加入了這個「自動備份到 Google Drive」的模組,現在每位學員都能安心開發,不用擔心資料遺失。

💡 本文重點: 用 n8n 打造工作流自動備份系統,每 12 小時自動備份到 Google Drive,帶版本管理、一鍵復原,讓你專心開發不怕出錯。

你將學到

  • 為什麼需要備份 — 3 大風險情境與備份的實際效益
  • 完整備份架構 — 從 Cron 觸發到 Google Drive 儲存的完整流程
  • Step-by-Step 實作 — 手把手建立自動備份工作流
  • 版本管理策略 — 如何命名、保留、清理歷史備份
  • 災難復原演練 — 從 Google Drive 還原工作流的完整步驟
  • 進階擴充方案 — Credentials 備份、跨環境遷移、通知整合

🎯 什麼是 n8n 工作流備份?

n8n 工作流備份是將你的所有 Workflow 定期匯出成 JSON 檔案,上傳到雲端(如 Google Drive),讓你隨時能還原、比對、遷移工作流的自動化機制。 它解決了「誤刪」、「系統故障」、「升級失敗」三大風險,讓你能安心開發複雜自動化流程,不用擔心一次失誤就要從頭重做。

這套系統的核心概念是「版本控制」— 你會在 Google Drive 裡看到一排以日期時間命名的 JSON 檔案(例如 2026-02-11_14-30_客戶自動回覆流程.json),需要時只要下載、匯入,就能還原到任何一個時間點的狀態。對於經營多個 n8n 實例(開發/測試/正式環境)的團隊來說,這套備份機制更是跨環境遷移的基礎建設。


💡 Alex 的觀察

在過去兩年協助超過 500 位學員建立 n8n 自動化系統的經驗中,我發現「備份」是最容易被忽略、但出事時最致命的環節。

為什麼大家不備份? 主要有三個原因:

  1. 覺得不會出錯 — 「我只是改個小參數,應該不會有問題」(famous last words)
  2. 手動備份太麻煩 — n8n 的匯出功能要一個一個點,有 20 個工作流就要點 20 次
  3. 不知道怎麼做版本管理 — 備份了一堆 JSON,哪個是最新的?哪個是正式環境用的?

我的建議是:把備份當作一個「背景自動化流程」來對待。 就像你不會手動備份 Git 一樣,工作流備份也應該是「設定一次,自動執行」的機制。我自己的 雲端方程式 Cloud F1 系統有 40+ 個工作流,全部靠這套 12 小時自動備份機制保護,過去一年復原過 3 次(兩次是升級失敗,一次是誤刪),每次都能在 5 分鐘內還原。

但老實說,這套方案也有限制:

  • 不備份 Credentials — 基於安全考量,這套方案不會備份你的 API Key、密碼等敏感資訊(需要手動管理)
  • 只備份 Active Workflows — 如果你有停用的工作流,預設不會被備份(可以調整設定)
  • 檔案會越來越多 — 如果你有 50 個工作流,每天備份兩次,一個月就是 3000 個 JSON 檔案(需要定期清理)

這套系統適合「有 5 個以上工作流」且「每週都會調整設定」的使用者。如果你只有 1-2 個簡單工作流,手動匯出就夠了。


🔧 Step-by-Step:建立自動備份系統

架構概覽

在開始之前,先理解整個備份系統的運作流程:

┌─────────────────────┐
│ Cron Trigger        │ ← 每 12 小時觸發一次
└──────────┬──────────┘


┌─────────────────────┐
│ n8n API             │ ← 取得所有 Workflow 列表
│ (GET /workflows)    │
└──────────┬──────────┘


┌─────────────────────┐
│ Loop Over Items     │ ← 逐一處理每個 Workflow
└──────────┬──────────┘


┌─────────────────────┐
│ n8n API             │ ← 取得完整 Workflow JSON
│ (GET /workflows/:id)│
└──────────┬──────────┘


┌─────────────────────┐
│ Code Node           │ ← 生成檔名(日期_時間_名稱)
└──────────┬──────────┘


┌─────────────────────┐
│ Google Drive        │ ← 上傳 JSON 到指定資料夾
│ (Create File)       │
└──────────┬──────────┘


┌─────────────────────┐
│ LINE Notify         │ ← 發送備份完成通知(可選)
└─────────────────────┘

Step 1:建立 Cron Trigger

  1. 在 n8n 新增一個 Workflow,命名為「Auto Backup to Google Drive」
  2. 新增 Schedule Trigger 節點
  3. 設定觸發時間:
設定項目設定值說明
Trigger IntervalEvery 12 Hours每天 00:00 和 12:00 執行
AlternativeCron Expression進階使用者可用 0 0,12 * * *

為什麼選 12 小時? 這是我實測後的最佳平衡點。太頻繁(如每小時)會產生過多檔案,太久(如每週)風險太高。如果你的工作流變動不頻繁,可以改成 24 小時。

Step 2:取得所有 Workflow 列表

新增 HTTP Request 節點,連接到 n8n 的內部 API:

設定項目設定值
MethodGET
URLhttp://localhost:5678/api/v1/workflows
AuthenticationHeader Auth
Header NameX-N8N-API-KEY
Header Value{{ $env.N8N_API_KEY }}

關鍵提醒:

  • 你需要先在 n8n 的 Settings → API 中生成 API Key
  • 如果你用的是雲端版 n8n.cloud,URL 要改成 https://your-instance.app.n8n.cloud/api/v1/workflows
  • 環境變數設定方法:在 n8n 的 .env 檔案中加入 N8N_API_KEY=your_api_key

這個請求會回傳所有工作流的基本資訊(id, name, active 等),但不包含完整的節點設定。

Step 3:Loop Over Workflows

新增 Loop Over Items 節點,逐一處理每個工作流:

設定項目設定值
Batch Size1

這個節點會把上一步取得的工作流列表(可能有 20-50 個)拆成單一項目,讓後面的節點逐一處理。

Step 4:取得完整 Workflow JSON

新增第二個 HTTP Request 節點,取得完整的工作流內容:

設定項目設定值
MethodGET
URLhttp://localhost:5678/api/v1/workflows/={{ $json.id }}
AuthenticationHeader Auth
Header NameX-N8N-API-KEY
Header Value{{ $env.N8N_API_KEY }}

這步很關鍵: 第一次請求只拿到工作流列表(metadata),這次才會拿到完整的節點設定、連接關係、參數等資訊(完整 JSON)。

Step 5:生成檔名

新增 Code 節點,用 JavaScript 生成有意義的檔名:

// 取得當前時間(台灣時區)
const now = new Date();
const taipeiTime = new Date(now.toLocaleString("en-US", {timeZone: "Asia/Taipei"}));

// 格式化日期時間
const year = taipeiTime.getFullYear();
const month = String(taipeiTime.getMonth() + 1).padStart(2, '0');
const day = String(taipeiTime.getDate()).padStart(2, '0');
const hour = String(taipeiTime.getHours()).padStart(2, '0');
const minute = String(taipeiTime.getMinutes()).padStart(2, '0');

const timestamp = `${year}-${month}-${day}_${hour}-${minute}`;

// 取得工作流名稱(移除特殊字元)
const workflowName = $json.name.replace(/[^a-zA-Z0-9\u4e00-\u9fa5]/g, '-');

// 組合最終檔名
const filename = `${timestamp}_${workflowName}.json`;

return {
  json: {
    filename: filename,
    workflow: $json  // 保留完整 workflow JSON
  }
};

檔名範例:

  • 2026-02-11_14-30_客戶自動回覆流程.json
  • 2026-02-11_14-30_LINE-訊息轉發到-Slack.json

Step 6:上傳到 Google Drive

新增 Google Drive 節點:

設定項目設定值
OperationUpload a File
File Name={{ $json.filename }}
File Content={{ JSON.stringify($json.workflow, null, 2) }}
Parents Folder選擇你的備份資料夾(建議建立 n8n-backup/ 資料夾)

首次設定需要 OAuth 認證:

  1. 點擊「Create New Credential」
  2. 選擇「Google Drive OAuth2 API」
  3. 按照指示完成 Google 帳號授權
  4. 詳細步驟可參考我的 n8n Google OAuth 設定教學

進階技巧: 如果你想要按年月分類(例如 n8n-backup/2026/02/),可以在 Code 節點裡加入:

const folder = `n8n-backup/${year}/${month}`;
return {
  json: {
    filename: filename,
    folder: folder,
    workflow: $json
  }
};

然後在 Google Drive 節點使用 ={{ $json.folder }}(需要先手動建立資料夾)。

Step 7:發送完成通知(可選)

新增 LINE NotifySlack 節點,發送備份完成通知:

LINE Notify 範例:

✅ n8n 備份完成

時間:2026-02-11 14:30
總共備份:25 個工作流
儲存位置:Google Drive / n8n-backup

詳細清單:
- 客戶自動回覆流程
- LINE 訊息轉發到 Slack
- ...(省略)

為什麼建議加通知? 因為這個工作流是「背景執行」,你不會主動去檢查。有通知的話,萬一哪天沒收到,就知道備份系統可能出問題了(例如 Google Drive 空間滿了、API Key 過期)。

Step 8:測試驗證

完成後,記得測試:

  1. 手動執行一次 — 點擊右上角「Execute Workflow」
  2. 檢查 Google Drive — 確認檔案有正確上傳
  3. 下載一個 JSON — 驗證內容是否完整
  4. 模擬還原 — 嘗試匯入到 n8n(見下方「災難復原」章節)

📊 比較分析:備份方案比較

方案優點缺點適合對象
手動匯出免費、簡單容易忘記、無版本控制1-2 個工作流的使用者
n8n 自動備份到 Google Drive(本文方案)自動化、有版本控制、免費(Google Drive 15GB)不備份 Credentials、需要設定5+ 個工作流的個人/小團隊
Git 版本控制(進階)完整版本控制、可 code review、支援多人協作需要學習 Git、需要設定 CI/CD開發團隊、複雜專案
n8n Cloud 內建備份自動備份、包含 Credentials僅限付費用戶($20/月起)企業用戶、需要零管理成本
Database 直接備份完整備份(包含執行歷史)需要資料庫管理知識、檔案較大Self-hosted 企業用戶

我的建議:

  • 個人使用者 → 本文的 Google Drive 方案(CP 值最高)
  • 開發團隊 → Git 版本控制 + 本文方案(雙重保險)
  • 企業用戶 → n8n Cloud(省時省力,專注業務)

✅ 重點整理

  1. 自動化備份是必要的 — 不要等到出事才後悔,設定一次終身受益
  2. 12 小時是最佳頻率 — 平衡檔案數量與復原風險
  3. 檔名要有意義 — 包含日期時間與工作流名稱,方便快速找到
  4. 定期清理舊備份 — 保留 30 天或最近 100 個版本即可(避免 Google Drive 爆掉)
  5. 不備份 Credentials — 基於安全考量,API Key 等敏感資訊需要手動管理(可用環境變數或密碼管理工具)
  6. 測試還原流程 — 至少每季演練一次,確保備份真的能用
  7. 加上通知機制 — 確保備份系統有在正常運作

❓ FAQ

Q1: 備份包含哪些資料?

A: n8n Workflow JSON 包含以下內容:

  • ✅ 所有節點的設定(Node settings)
  • ✅ 節點之間的連接關係(Connections)
  • ✅ 參數設定(Parameters)
  • ✅ Static data(固定資料)
  • 不包含 Credentials(API Key、密碼等敏感資訊)
  • ❌ 不包含執行歷史(Execution data)

為什麼不備份 Credentials? 基於安全考量,n8n 的匯出功能不會包含敏感資訊。如果你需要跨環境遷移,建議使用「環境變數」管理 Credentials(例如 $env.OPENAI_API_KEY),這樣在新環境只要設定好環境變數,工作流就能直接運作。

Q2: 如何復原工作流?

A: 完整復原步驟:

  1. 從 Google Drive 下載備份檔案 — 選擇你要還原的時間點
  2. 在 n8n 匯入工作流 — 點擊右上角「···」→「Import from File」→ 選擇下載的 JSON 檔案
  3. 重新設定 Credentials — n8n 會提示哪些節點缺少認證,逐一設定
  4. 測試執行 — 手動執行一次,確認所有節點都能正常運作
  5. 檢查參數 — 確認環境相關的參數(如 URL、資料夾路徑)是否需要調整

常見問題: 如果你有多個工作流互相呼叫(例如 A 工作流用 Webhook 觸發 B 工作流),還原後要記得更新 Webhook URL。

Q3: 可以備份 Credentials 嗎?

A: 技術上可以,但強烈不建議自動化備份 Credentials:

  • 安全風險高 — API Key、密碼存在 Google Drive,萬一帳號被盜,所有服務都會外洩
  • 不符合資安最佳實踐 — Credentials 應該用「密碼管理工具」或「環境變數」管理,而不是明文儲存

推薦做法:

  1. 使用環境變數 — 在工作流中用 $env.OPENAI_API_KEY 取代寫死的 API Key
  2. 密碼管理工具 — 用 1Password、Bitwarden 等工具手動備份
  3. 定期輪換 — 每季更換一次 API Key(如果服務支援)

Q4: Google Drive 空間會不會不夠?

A: 如果你有 50 個工作流,每個 JSON 平均 50KB,每天備份兩次:

50 workflows × 50KB × 2 times/day × 365 days = 1.825 GB/year

Google 免費方案有 15GB,理論上可以用 8 年。但建議還是定期清理:

自動清理方案(進階):

在備份工作流後面加一個「刪除舊檔案」節點:

  1. 新增 Google Drive 節點(List Files)
  2. 篩選「建立時間 > 30 天」的檔案
  3. 新增 Loop Over Items 逐一刪除

Q5: 可以備份到其他雲端嗎?

A: 可以!n8n 支援多種雲端服務:

雲端服務n8n 節點免費空間適合情境
Google Drive15GB一般使用者(推薦)
Dropbox2GB已有 Dropbox 習慣
AWS S35GB(12 個月)企業用戶、需要高可用性
GitHub無限(單檔 100MB)開發團隊、需要版本控制
OneDrive5GBMicrosoft 365 用戶

我的建議: 如果你是開發團隊,用 GitHub 最好(可以 code review、追蹤變更)。個人使用者用 Google Drive 最方便(免費空間大、整合容易)。

Q6: 如何備份「停用的工作流」?

A: 預設的 API 請求會包含所有工作流(active 與 inactive)。如果你只想備份 active 的,可以在 Loop Over Items 前加一個 Filter 節點:

設定項目設定值
Fieldactive
OperationEqual
Valuetrue

Q7: 多個 n8n 實例怎麼備份?

A: 如果你有「開發環境」、「測試環境」、「正式環境」三個 n8n 實例,建議:

  1. 每個實例都建立這個備份工作流
  2. 用不同的 Google Drive 資料夾(例如 n8n-backup-dev/n8n-backup-prod/
  3. 在通知訊息中標示環境(避免搞混)

進階做法: 用一個「中央備份伺服器」的 n8n 實例,定時去各個環境拉取工作流(需要設定跨實例的 API Key)。


🎯 下一步行動

🎓 想更有系統地學會這些技巧?AI 職場工作術(雲端方程式 Cloud F1 旗艦課程) 看看完整的實作路徑。

現在你已經掌握了 n8n 工作流備份的完整技術,建議你:

  1. 立刻建立這個備份工作流 — 不要等到出事才後悔(我見過太多案例了)
  2. 設定 LINE/Slack 通知 — 確保備份系統有在正常運作
  3. 定期演練復原流程 — 至少每季測試一次,確保備份真的能用
  4. 學習更多 n8n 維運技巧 — 備份只是基礎,還有監控、效能優化、安全性等議題

想深入學習更多 n8n 自動化技巧?


🔗 相關資源

內部資源

外部資源


本文改編自 雲端方程式 Cloud F1 n8n 課程模組《備份 n8n workflow 到 Google Drive(12hr 自動執行)》,由 Alex Hsieh 撰寫。如果這篇文章對你有幫助,歡迎分享給需要的朋友。最後更新:2026-02-11

想把這篇學到的用進日常工作?

「AI 職場工作術」課程把這類實戰經驗整理成一步步的教學,帶你系統化練出跟 AI 協作的產能。

看 AI 職場工作術課程 →

本文作者:Alex Hsieh,SRE / DevOps 背景出身,現為企業 AI 導入顧問,也是「AI 相談室」課程講師。專注把 AI 自動化真正落地到企業日常流程,而不是停留在 Demo。

目錄
  1. 專業導讀
  2. 你將學到
  3. 🎯 什麼是 n8n 工作流備份?
  4. 💡 Alex 的觀察
  5. 🔧 Step-by-Step:建立自動備份系統
  6. 架構概覽
  7. Step 1:建立 Cron Trigger
  8. Step 2:取得所有 Workflow 列表
  9. Step 3:Loop Over Workflows
  10. Step 4:取得完整 Workflow JSON
  11. Step 5:生成檔名
  12. Step 6:上傳到 Google Drive
  13. Step 7:發送完成通知(可選)
  14. Step 8:測試驗證
  15. 📊 比較分析:備份方案比較
  16. ✅ 重點整理
  17. ❓ FAQ
  18. Q1: 備份包含哪些資料?
  19. Q2: 如何復原工作流?
  20. Q3: 可以備份 Credentials 嗎?
  21. Q4: Google Drive 空間會不會不夠?
  22. Q5: 可以備份到其他雲端嗎?
  23. Q6: 如何備份「停用的工作流」?
  24. Q7: 多個 n8n 實例怎麼備份?
  25. 🎯 下一步行動
  26. 🔗 相關資源
  27. 內部資源
  28. 外部資源