
你花了數週時間,精心打造了一個完美的 n8n 工作流 (Workflow)。它可能是你公司的核心訂單處理流程,或是你個人專案的數據同步中樞。它日夜不休地為你工作,節省了無數時間。直到有一天,意外發生了——伺服器硬碟損壞、雲端主機設定錯誤,或是最常見的:一不小心手滑誤刪了關鍵節點。
在那一刻,你看著空白的畫布,才驚覺你寶貴的數位資產,那些無數個夜晚的心血結晶,可能已經瞬間化為烏有。
這不是危言聳聽,而是任何一位嚴肅的自動化開發者都必須面對的課題。備份,從來不是一個選項,而是一種紀律,一種專業的習慣。 幸運的是,n8n 提供了多種簡單且強大的方式來保護你的工作流。這篇文章將是你的 n8n Workflow 備份與還原終極指南,我們將介紹三種從簡到繁的方法,從最快速的手動複製,到完全自動化的排程備份,確保你的心血結晶永遠安全。
為何備份 n8n Workflow 如此重要?
在投入時間學習如何備份之前,你必須深刻理解為何這件事如此重要。一個好的備份策略,至少能為你解決以下四大問題:
- 預防意外刪除或修改: 人為疏失是資料遺失最常見的原因。一次錯誤的
Ctrl + Z
或是不小心的節點刪除,都可能造成無法挽回的後果。 - 版本控制與回滾: 當你為工作流增加新功能後,卻發現它不如預期地運作,甚至產生了錯誤。一個清晰的備份版本能讓你快速「回滾」到前一個穩定的狀態。
- 伺服器遷移或災難恢復: 如果你需要將 n8n 實例 (Instance) 搬到新的伺服器,或是當前的主機發生故障,完整的備份檔案是你能夠快速重建服務的唯一途徑。
- 團隊協作與分享: 將工作流備份成通用的 JSON 格式,是與同事分享、或是在社群中尋求幫助時,最簡單直接的方式。
方法一:手動複製 JSON – 最簡單快速的單檔備份法
這是每個 n8n 使用者都必須學會的第一招,它非常適合用來做單一工作流的快速備份或分享。
什麼是 Workflow JSON?
n8n 的核心設計之一,就是每一個工作流(包含所有節點、節點設定、位置、連接線,甚至是憑證資訊)都可以被完整地表示成一段 JSON 格式的純文字。這意味著,你可以像複製貼上一篇文章一樣,輕鬆地複製整個複雜的工作流。
備份步驟 (Step-by-Step)
- 在 n8n 的工作流畫布 (Canvas) 中,按下
Ctrl + A
(Windows/Linux) 或Cmd + A
(Mac) 全選所有的節點。 - 按下
Ctrl + C
或Cmd + C
複製。 - 打開任何一個純文字編輯器(例如 VS Code, Sublime Text, 記事本)。
- 按下
Ctrl + V
或Cmd + V
貼上。你會看到一大段以{
開頭、}
結尾的 JSON 文字。 - 將這個檔案儲存起來,並使用有意義的檔名,例如
訂單處理流程-v1.2-20250813.json
。
還原步驟 (Step-by-Step)
還原的過程更加簡單:
- 在 n8n 中,打開一個空白的工作流畫布。
- 用文字編輯器打開你之前儲存的
.json
備份檔案,全選並複製所有內容。 - 回到 n8n 的空白畫布上,直接按下
Ctrl + V
或Cmd + V
。 - 神奇的事情發生了,你完整的工作流,包含所有的節點和連線,都瞬間被還原了!
優缺點分析:
- 優點: 極度簡單、快速,不需要任何額外設定,非常適合臨時備份和分享。
- 缺點: 完全手動,容易忘記執行,不適合管理大量的工作流。

方法二:使用 n8n API – 實現自動化排程備份
當你的工作流數量變多,手動備份顯然不切實際。這時候,我們可以用 n8n 最酷的方式來解決問題——用一個 n8n 工作流,來自動備份所有其他的 n8n 工作流!
前置作業:取得你的 n8n API 金鑰
- 在你的 n8n 介面左下角,點擊頭像,進入
My settings
。 - 在左側菜單選擇
API
。 - 點擊
Add API key
,系統會為你生成一組金鑰。請立即將這組金鑰複製下來並妥善保管,因為你關閉視窗後就再也看不到了。
備份工作流詳解
這個流程的邏輯是:定時觸發 -> 透過 API 取得所有工作流的列表 -> 逐一讀取每個工作流的詳細 JSON -> 將 JSON 內容存成檔案。
- 觸發器:
Schedule
節點- 設定一個你喜歡的排程,例如每天凌晨 3 點 (
Mode: Every Day
,Hour: 3
)。
- 設定一個你喜歡的排程,例如每天凌晨 3 點 (
HTTP Request
節點 (或n8n API
節點)- Authentication: 選擇
Header Auth
。 - Name: 輸入
X-N8N-API-KEY
。 - Value: 貼上你剛剛取得的 API 金鑰。
- Method:
GET
。 - URL:
https://你的n8n網址/api/v1/workflows
。 - 這個節點會抓回你 n8n 實例中所有工作流的清單 (但不包含完整的 JSON 內容)。
- Authentication: 選擇
Split In Batches
節點- 將
Batch Size
設定為1
。這會將上一步取得的工作流清單,變成一筆一筆的迴圈來處理。
- 將
HTTP Request
節點 (第二次)- 這個節點負責根據 ID 抓取單一工作流的完整 JSON。
- Authentication: 同樣設定
Header Auth
並使用相同的 API 金鑰。 - Method:
GET
。 - URL:
https://你的n8n網址/api/v1/workflows/{{ $json.id }}
。這裡我們用 Expression 來動態讀取迴圈中當前工作流的 ID。
Write Binary File
節點- 這個節點負責將抓到的 JSON 內容寫入檔案。
- File Name: 使用 Expression 來產生動態檔名,例如:
backups/{{ $json.name.replace('/', '_') }}_{{ $now.toFormat('yyyyMMdd') }}.json
。replace('/', '_')
是為了避免工作流名稱中的斜線造成路徑錯誤。
- Data Property: 輸入
data
(因為上一步 HTTP Request 的回傳內容在 data 這個 property 裡)。
啟用這個工作流後,n8n 就會每天自動幫你把所有的工作流備份成獨立的 JSON 檔案,存放在你指定的 backups
資料夾中!
方法三:直接備份 n8n 資料庫與設定檔 – 最全面的系統級備份
對於自架設 (Self-Hosted) n8n 的使用者,特別是使用 Docker 的進階玩家,還有一個更徹底、更釜底抽薪的備份方式:直接備份整個 n8n 的「大腦」。
需要備份的內容
在你的 n8n 資料目錄(通常是你掛載到 Docker 容器 /home/node/.n8n
的那個資料夾)中,有兩個最重要的檔案:
database.sqlite
: 這是 n8n 的核心資料庫。它包含了你所有的工作流、憑證 (Credentials)、執行紀錄等一切資料。 備份了這個檔案,就等於備份了整個 n8n 的狀態。config
檔案: 儲存了你 n8n 實例的一些重要設定。
如何執行
這種備份方式需要在你的伺服器主機層級進行。你可以設定一個系統的排程任務(例如 Linux 的 cron
),每天定時執行指令,將 database.sqlite
和 config
檔案複製到另一個安全的備份目錄。
優缺點分析:
- 優點: 最完整的災難恢復方案,可以還原整個 n8n 實例到某個時間點。
- 缺點: 技術門檻較高,需要有伺服器管理知識。還原是「全有或全無」,無法像 JSON 檔案一樣,只單獨還原某一個工作流。
備份策略與最佳實踐
學會了方法,更要有正確的策略。
- 3-2-1 備份原則: 這是資訊界的備份黃金法則。至少保留三份備份,存放在兩種不同的儲存媒介上,其中一份要放在異地。對 n8n 來說,你可以:
- 一份 JSON 備份在本機。
- 一份自動化備份在伺服器硬碟。
- 將伺服器上的備份檔,再同步一份到雲端儲存(如 Google Drive, Dropbox, AWS S3)。
- 定期測試你的還原流程: 一個從未被測試過的備份,等於沒有備份。請至少每季一次,實際拿備份檔案到一個測試環境中,演練一次還原程序,確保你的備份是真的有效的。
- 善用版本控制工具 (Git): 對於專業開發者,最好的方式是將備份的 JSON 檔案,提交到 Git 版本控制系統(如 GitHub, GitLab)。這不僅能做備份,更能讓你擁有每一個版本的完整變更歷史紀錄。

結語
你的自動化流程是你花費了大量時間與智慧所建構的寶貴數位資產。為它們建立一套可靠的備份機制,是你從「玩家」走向「專家」的必經之路。
今天我們學習了三種強大的備份方法:
- 手動複製 JSON: 快速、簡單,適合日常分享與臨時存檔。
- API 自動化備份: 一勞永逸,讓 n8n 自己備份自己,專業可靠。
- 系統級資料庫備份: 最徹底的災難恢復方案,適合進階使用者。
請不要再等待,今天就從這三種方法中,選擇至少一種最適合你的,立刻為你的 n8n 工作流建立起第一道防線。因為完善的備份,才能讓你未來在自動化的道路上,走得更遠、更安心。