做 n8n 自架備份還原前,先確認目標:你要恢復整個執行個體,還是只要匯入工作流程與憑證?兩者需要準備的資料不同。完整備份至少要包含 .n8n 使用者資料夾;若使用 PostgreSQL,還須另外備份資料庫;若已將二進位資料或執行資料放在外部儲存,也要備份該儲存位置。CLI 的 --backup 則只匯出工作流程與憑證,不能取代完整備份。
n8n 自架備份還原:先選對路徑

| 還原目標 | 要準備什麼 | 關鍵限制 |
|---|---|---|
| 恢復整個執行個體 | .n8n;使用 PostgreSQL 時另備份資料庫;依實際設定納入二進位資料或執行資料的外部儲存 |
加密憑證須使用原加密金鑰 |
| 只匯入工作流程與憑證 | CLI --backup 匯出內容 |
不是完整執行個體備份;匯入相同 ID 會覆寫目標資料庫的既有項目 |
這是依備份涵蓋範圍所做的操作分流。表格列的是核對重點,不是適用所有部署的完整清單。選擇前,請先對照實際部署設定,而不是只看手上有沒有工作流程匯出檔。完整備份與 CLI 匯出的範圍可參考 n8n 官方備份與還原指南。
完整備份前,逐項核對資料位置

.n8n使用者資料夾:完整執行個體備份必備。若使用 Docker,應核對自身部署的掛載設定,找出實際對應的資料卷或位置;不要把範例中的資料卷名稱當成通用名稱。- 資料庫:使用預設 SQLite 時,複製
.n8n前應先停止 n8n;無法停止時,應取得一致性的 SQLite 快照。使用 PostgreSQL 時,除了.n8n,還須以資料庫自身工具另外備份 PostgreSQL 資料庫。 - 外部儲存:若已設定二進位資料或執行資料的外部儲存,完整備份也要包含實際儲存的資料;僅記下連線設定,不能代替備份其中的資料。
- 加密金鑰:確認還原時能使用原加密金鑰。還原加密的資料庫憑證或憑證匯出檔,都需要這把金鑰。
建立備份清單時,可以沿著「資料夾、資料庫、外部儲存、金鑰」逐項對照部署設定;使用 PostgreSQL 時,尤其不要把備份 .n8n 視為已備份資料庫。
如何還原整個執行個體?
- 先停止 n8n。這是官方完整執行個體還原流程的第一步。
- 依部署設定還原已備份資料。核對並還原
.n8n;若原部署使用 PostgreSQL,另以資料庫工具還原其備份;若有二進位資料或執行資料的外部儲存,也要還原該儲存位置的資料。 - 確認原加密金鑰可供還原使用。不要在缺少原金鑰的情況下,預期既有加密憑證能直接解密。
- 還原後逐項檢查。確認需要的資料位置已恢復,並檢查憑證能否解密、工作流程及外部儲存資料是否符合還原目標。
上述清單用來核對備份範圍;實際操作仍須依資料庫工具與自身部署設定安排,不能把某個 Docker 範例的資料卷名稱直接套用到所有環境。
如果只需要工作流程與憑證:使用 CLI 匯出與匯入
n8n CLI 的 --backup 可匯出工作流程與憑證,但不是完整執行個體備份。執行匯出、匯入時,請依官方 CLI 文件核對適用指令與參數,不要把匯出檔當作整個執行個體的還原點。
- 匯出前:確認你的目標確實只有工作流程與憑證;若需要完整還原,改用前述完整備份清單。
- 匯入全新執行個體前:先完成擁有者設定,並確認還原加密憑證所需的原加密金鑰可用。
- 匯入既有資料庫前:先核對項目 ID。匯入的工作流程或憑證若與既有項目 ID 相同,既有項目會被覆寫。
- 匯入後:檢查憑證能否解密,以及工作流程是否符合預期,再決定後續操作。
備份檢查重點:不要只確認檔案存在
- 已確認要恢復的是整個執行個體,還是僅有工作流程與憑證。
- 完整備份已包含
.n8n;PostgreSQL 與已設定的外部儲存也各有對應備份。 - SQLite 備份採停止 n8n 後複製,或取得一致性快照。
- 原加密金鑰可用;匯入前已評估相同 ID 的覆寫風險。
- 以上是核對重點,並非適用所有部署的完整清單;仍須依實際部署設定盤點備份範圍。
最重要的判斷是:CLI 匯出適合移轉其涵蓋的工作流程與憑證;要恢復整個自架環境,備份範圍必須跟著實際資料位置走。

