n8n 執行紀錄爆滿怎麼辦?輕鬆設定自動清除機制

使用 n8n 時,經常會累積大量的執行紀錄(Execution logs),如果不定期清理,不僅會消耗大量儲存空間,還可能降低 n8n 系統的效能。本文將教你幾個輕鬆管理執行紀錄的方法,包括手動清除、自動定期清理,以及進階的 workflow 自動化方法。

為什麼需要清理 n8n 執行紀錄?

每次執行 workflow,n8n 都會產生執行紀錄。隨著使用時間增加,紀錄可能數量龐大,不僅影響查詢速度,還會讓資料庫空間爆滿。因此,定期清理執行紀錄非常重要。

手動刪除 n8n 執行紀錄的方法

n8n 提供了內建的篩選工具讓你手動刪除特定紀錄,步驟如下:

Step.1 前往 n8n 執行紀錄頁面(Executions)。

Step.2 使用篩選條件,例如:

  • 根據執行狀態(成功或失敗)
  • 時間區間(例如最近7天、30天)

Step.3 勾選所有符合條件的紀錄,點擊刪除按鈕即可批次刪除。

這種方法雖然簡單,但每次都需手動操作,長期來看並不理想。

感覺還不夠? 試試 n8n 自動清除機制

幸運的是,n8n提供簡單的環境變數設定,讓你能自動定期清除舊的執行紀錄。

n8n有提供直觀的UI介面供使用者加入以下環境變數,但必須要升級到付費計畫
# 啟動自動清理功能
EXECUTIONS_DATA_PRUNE=true 

# 最多保留最近30天的紀錄
EXECUTIONS_DATA_MAX_AGE=30 

 # 或者只保留最新200筆執行紀錄
EXECUTIONS_DATA_MAX_COUNT=200

如果你使用docker佈署免費版的n8n,那麼就必須更改docker-compose.yml檔,例如:

services:
  n8n:
    image: n8nio/n8n
    ports:
      - 5678:5678
    environment:
      - EXECUTIONS_DATA_PRUNE=true
      - EXECUTIONS_DATA_MAX_AGE=30
      - EXECUTIONS_DATA_MAX_COUNT=200
    volumes:
      - ./n8n_data:/home/node/.n8n

【進階技巧】用 n8n workflow 定期自動清理執行紀錄

若想更有彈性,也可以透過 n8n 的 workflow 功能來自動清理紀錄;
只不過目前須要透過社群節點來管理n8n的SQLite。

安裝他人製作的外掛或套件多少存在風險,請謹慎使用。

先去社群搜尋是否有『管理sqlite資料庫』的節點,這裡以n8n-node-sqlite3為例:製作者的github有說明節點的使用方法。

1. 點選左下方使用者名稱旁的選單,進入『Settings』頁面。

2. 『Settings』頁面左側選單,最下方有個『Community nodes』,點他。

3. 點選右上角『install』按鈕,安裝前可以先在npm搜尋有沒有該節點,以便確認名稱是否正確,順便觀察該節點的下載人氣,本範例npm Package Name填入完整名稱『n8n-node-sqlite3』。

3. 勾選『我了解公共來源安裝的程式碼風險』後,按下『install』按鈕。

4.下載安裝後,畫面上會出現你剛下載的節點。

5. 需重啟n8n,才能在新增節點處,搜尋到剛才下載的節點。

然後新增並啟用一個工作流,假設你的目標是每天定期清除7天前的執行紀錄

那就以schedule節點作為trigger,週期設置為一天,接到先前下載好的SQLite節點使用DELETE方法,並輸入刪除條件,例如:

DELETE FROM execution_entity WHERE startedAt < datetime('now','-7 days');

n8n 安裝位置在哪?npm 使用者移機備份教學

如果你是透過 npm install n8n -g 安裝 n8n 的使用者,當你想要換電腦或將 n8n 搬到另一台機器時,最重要的問題就是:「n8n 的資料儲存在哪裡?該如何備份與移機?

這篇文章將告訴你 n8n 在本地的安裝位置、資料檔案放哪裡,以及如何完整備份與還原到另一台電腦,幫助你安全地搬移所有工作流程與帳號憑證,不用重做!

此文章大部分由Chat GPT所撰寫,本人只校驗及精簡。

使用 npm 安裝 n8n 時,它的資料放在哪?

當你透過下列指令安裝 n8n:

npm install n8n -g

這會將 n8n 安裝為「全域指令」,你可以在任何資料夾下輸入 n8n 就啟動它。不過:

n8n 的資料(如 workflows、credentials)並不是存在你目前的專案資料夾,而是統一放在你使用者帳號下的 .n8n 目錄中。

Windows 使用者的安裝位置

C:\Users\你的使用者名稱\.n8n\

這個資料夾裡包含:

  • database.sqlite你的所有工作流程、憑證、執行記錄都儲存在這裡
  • configfiles/(如果有):包含自訂設定或上傳檔案

要如何移機到另一台電腦?

1. 打包檔案並移動到使用者目錄下

將上述安裝位置的.n8n 資料夾整個壓縮打包,將內容移動到新機的對應位置 (C:\Users\你的使用者名稱\.n8n\)。

2. 在新電腦安裝 n8n

打開終端機(或 PowerShell),全域安裝一次n8n:

npm install n8n -g

3.開啟終端機啟動n8n

啟動指令為:

n8n
# or
n8n start

4.如果網頁沒自動打開

請在瀏覽器輸入網址 http://localhost:5678 或 按下"o",即可開啟n8n的登入頁面。
填寫在前一台電腦設定的email及密碼,登入後,你會發現所有 workflow、節點設定、憑證都完好如初!

延伸閱讀:如果你想備份單一的workflow

按右上角三個點並點選download,內容會下載成json檔。

之後新增的workflow,一樣先點選右上角三個點,選擇import from File即可匯入json檔。