Backup n8n đầy đủ gồm 3 phần: workflow, credential và khóa mã hóa N8N_ENCRYPTION_KEY trong thư mục .n8n. Trên bản tự host, cách gọn nhất là chạy n8n export:workflow --backup và n8n export:credentials --backup, rồi chép kết quả cùng khóa ra ngoài máy chủ. Không vào được máy chủ thì dùng workflow gọi n8n API để đẩy workflow lên Google Drive.
Bài dành cho n8n tự host trên VPS hoặc máy tính, có cả cách khôi phục. Chưa cài n8n thì xem cách cài đặt n8n trên VPS trước. Lệnh trong bài kiểm theo n8n 2.44.6 (bản stable ngày 22/10/2026).
Bản backup n8n cần gồm những gì?
Một bản backup n8n khôi phục được phải có thư mục .n8n (chứa file cấu hình có khóa mã hóa và, với SQLite, cả database), database PostgreSQL nếu bạn dùng, và cấu hình triển khai như .env, compose.yaml. Credential trong database được mã hóa bằng khóa đó, nên thiếu khóa thì bản backup credential không dùng được (Back up and restore).

Phần Nằm ở đâu Sao lưu bằng Workflow Database (SQLite trong .n8n hoặc PostgreSQL) n8n export:workflow --backup hoặc workflow gọi n8n APICredential Database, đã mã hóa n8n export:credentials --backup (giữ nguyên mã hóa)Khóa mã hóa File ~/.n8n/config hoặc biến N8N_ENCRYPTION_KEYChép riêng, cất ngoài máy chủ User, lịch sử chạy, variables, cài đặt Database Chép thư mục .n8n (SQLite) hoặc pg_dump (PostgreSQL)
Vì sao cần backup n8n định kỳ?
Backup n8n định kỳ giúp bạn dựng lại workflow và kết nối khi máy chủ hỏng ổ đĩa, khi xóa nhầm, khi bản cập nhật lỗi hoặc khi chuyển sang VPS khác. n8n tự host không có thùng rác cho workflow đã xóa, và người vận hành tự chịu trách nhiệm lưu trữ dữ liệu.
- Máy chủ hỏng hoặc bị xóa: mất volume là mất cả workflow, credential và lịch sử chạy.
- Xóa nhầm hoặc ghi đè: dễ xảy ra khi nhiều người cùng sửa một workflow.
- Cập nhật lỗi: bản mới chạy migration database; muốn quay về bản cũ phải có bản sao trước lúc nâng (cách cập nhật n8n).
- Mất credential: workflow vẫn còn nhưng không gọi được dịch vụ nào cho đến khi bạn nhập lại từng API key, OAuth. Credential là thông tin xác thực (API key, Client ID/Secret, token) mà node dùng để kết nối dịch vụ bên ngoài.
- Chuyển máy chủ: bản backup đầy đủ là đầu vào của việc chuyển n8n sang VPS mới.
Nên chọn cách backup n8n nào?
Nếu bạn SSH được vào máy chạy n8n, hãy dùng lệnh CLI chạy theo lịch: lệnh lấy được cả workflow lẫn credential mà không cần bật node nguy hiểm. Nếu chỉ có giao diện web, ví dụ n8n Cloud gói trả phí, dùng workflow gọi n8n API để lưu workflow lên Google Drive; cách này không lấy được credential.

Cách Lấy được Cần gì Hợp với Lệnh CLI export --backupWorkflow, credential (mã hóa) SSH vào máy chủ VPS tự host Chép volume .n8n + pg_dumpToàn bộ hệ thống, kể cả user và lịch sử chạy SSH, dừng n8n khi dùng SQLite Trước khi cập nhật, chuyển máy chủ Workflow gọi n8n API → Google Drive Chỉ workflow API key n8n, credential Google Không có SSH, n8n Cloud gói trả phí Export tay trên giao diện Từng workflow Không Lưu nhanh 1–2 workflow (import và export workflow)
Cách backup n8n bằng lệnh CLI
Backup n8n bằng CLI là chạy lệnh n8n export bên trong container: cờ --backup tương đương --all --pretty --separate, mỗi workflow và mỗi credential thành một file JSON riêng (Use the command line). Credential xuất ra vẫn ở dạng mã hóa, nên đi kèm khóa mới khôi phục được.
Chạy trong thư mục chứa compose.yaml, với service tên n8n. Dùng hai thư mục khác nhau cho workflow và credential: theo docs, import:credentials --separate hiện lỗi khi thư mục có lẫn file workflow.
cd ~/n8n-compose
docker compose exec -u node n8n n8n export:workflow --backup --output=/home/node/.n8n/backups/workflows/
docker compose exec -u node n8n n8n export:credentials --backup --output=/home/node/.n8n/backups/credentials/
# Chép ra máy chủ, ngoài container
docker compose cp n8n:/home/node/.n8n/backups ./n8n-backup-$(date +%F)
Thư mục /home/node/.n8n nằm trong volume nên file không mất khi tạo lại container. Bản sao vẫn nằm trên cùng máy chủ, vì vậy bước tiếp theo là đưa nó ra nơi khác.
Sao lưu khóa mã hóa N8N_ENCRYPTION_KEY
n8n tạo khóa mã hóa ngẫu nhiên ở lần chạy đầu và lưu trong file config của thư mục .n8n, trừ khi bạn đặt biến N8N_ENCRYPTION_KEY (Set a custom encryption key). Xem khóa đang dùng bằng lệnh dưới và cất vào trình quản lý mật khẩu, tách khỏi nơi để file credential.
docker compose exec n8n cat /home/node/.n8n/config
# hoặc, nếu đặt bằng biến môi trường
grep N8N_ENCRYPTION_KEY .env
Sao lưu toàn bộ volume và database
Để khôi phục được cả user, lịch sử chạy và cài đặt, chép nguyên volume .n8n và database. Với SQLite, dừng n8n trước khi chép để file database không bị ghi dở.
docker volume ls # tìm tên volume, ví dụ n8n-compose_n8n_data
docker compose stop n8n
docker run --rm -v n8n-compose_n8n_data:/data -v "$PWD":/backup alpine \
tar czf /backup/n8n_data-$(date +%F).tar.gz -C /data .
docker compose start n8n
# Nếu dùng PostgreSQL (service tên postgres, user và database n8n)
docker compose exec -T postgres pg_dump -U n8n -d n8n > n8n-db-$(date +%F).sql
Chạy backup tự động bằng cron
Gom các lệnh trên vào một script rồi đặt lịch bằng cron. Ví dụ dưới chạy 2 giờ sáng mỗi ngày và xóa bản cũ hơn 14 ngày; tần suất tùy mức thay đổi workflow của bạn.
#!/bin/bash
# /root/n8n-backup.sh
set -e
cd /root/n8n-compose
D=/root/n8n-backups/$(date +%F)
mkdir -p "$D"
docker compose exec -T -u node n8n rm -rf /home/node/.n8n/backups
docker compose exec -T -u node n8n n8n export:workflow --backup --output=/home/node/.n8n/backups/workflows/
docker compose exec -T -u node n8n n8n export:credentials --backup --output=/home/node/.n8n/backups/credentials/
docker compose cp n8n:/home/node/.n8n/backups "$D/"
find /root/n8n-backups -mindepth 1 -maxdepth 1 -type d -mtime +14 -exec rm -rf {} +
chmod +x /root/n8n-backup.sh
crontab -e
# thêm dòng:
0 2 * * * /root/n8n-backup.sh >> /var/log/n8n-backup.log 2>&1
Đẩy thư mục /root/n8n-backups lên Google Drive bằng rclone theo hướng dẫn tự động backup n8n và OpenClaw lên Google Drive. Khóa mã hóa không đi cùng thư mục này.
Vì sao không backup credential bằng node Execute Command?
Cách cũ dùng node Execute Command chạy n8n export:credentials --all --decrypted ra /tmp, đọc bằng Read/Write Files rồi tải lên Google Drive. Từ n8n 2.0, Execute Command bị tắt mặc định (nằm trong NODES_EXCLUDE) và Read/Write Files chỉ đọc ghi trong ~/.n8n-files, nên workflow đó báo lỗi (v2.0 breaking changes, Nodes environment variables).
Cờ --decrypted còn ghi mọi API key, token, mật khẩu ở dạng chữ thường. Đẩy file đó lên Google Drive là đặt toàn bộ quyền truy cập dịch vụ của bạn vào một tài khoản Google. Chỉ dùng --decrypted khi chuyển sang máy có khóa khác, và xóa file ngay sau khi khôi phục.
Cách backup workflow n8n lên Google Drive bằng workflow
Workflow backup lên Google Drive dùng node n8n (gọi n8n API) để lấy danh sách workflow, node Convert to File để đổi sang JSON, rồi node Google Drive để tải lên theo lịch. Cách này chạy được cả khi không có SSH, nhưng chỉ lấy workflow. n8n API không có ở bản dùng thử n8n Cloud (n8n API Authentication).
Ảnh chụp ở n8n 1.x. Ở n8n 2.x, nút Test workflow đổi thành Execute workflow, công tắc Active/Inactive thay bằng nút Publish; các node và trường cấu hình giữ nguyên.
Cách 1: Backup toàn bộ workflow vào một file
Bước 1: Cấu hình Schedule Trigger. Thêm node Schedule Trigger và đặt lịch chạy. Ví dụ 3 ngày một lần lúc nửa đêm: Trigger Interval là Days, Days Between Triggers là 3, Trigger at Hour là Midnight, Trigger at Minute là 0.

Bước 2: Tạo API key n8n. Nhấp biểu tượng Settings ở góc dưới thanh bên trái, chọn mục n8n API.


Nhấp Create an API Key, nhập Label (ví dụ Backup), chọn thời hạn Expiration rồi bấm Save. Ở gói Enterprise, chỉ cấp scope đọc workflow cho key này.

n8n chỉ hiện API key một lần. Sao chép key ngay rồi bấm Done; mất key thì xóa và tạo key mới.

Bước 3: Cấu hình node n8n để lấy workflow. Thêm node n8n sau Schedule Trigger.

Ảnh chụp ở n8n 1.x: thanh trên còn công tắc Inactive, ở n8n 2.x là nút Publish.
Ở Credential to connect with, tạo credential n8n account: dán API key ở bước 2 và Base URL của bạn, dạng https://n8n.example.com/api/v1.

Lưu credential, rồi đặt Resource là Workflow, Operation là Get Many và bật Return All để lấy mọi workflow.

Bước 4: Chuyển dữ liệu sang JSON. Thêm node Convert to File sau node n8n, đặt Operation là Convert to JSON, Mode là All Items to One File, Put Output File in Field giữ là data.


Bước 5: Cấu hình node Google Drive. Thêm node Google Drive, chọn credential Google (xem cách xác thực credential cho Google trên n8n). Đặt Resource là File, Operation là Upload, Input Data Field Name là data, File Name là Data, Parent Drive là My Drive, Parent Folder là thư mục Backup (chọn từ danh sách hoặc dán URL).

Bước 6: Lưu và chạy thử. Đặt tên workflow, bấm Save, rồi chạy thử một lần và mở thư mục Backup trên Google Drive để xem file Data.


Chạy ổn thì bấm Publish để workflow tự chạy theo lịch. Với n8n 1.x, bật công tắc Active.
Cách 2: Backup từng workflow thành file riêng
Cách 2 tạo một thư mục mới trên Google Drive cho mỗi lần chạy và lưu mỗi workflow một file mang tên workflow. Khôi phục một workflow lẻ sẽ nhanh hơn, và dễ so các bản theo thời gian.
Bước 1: Thêm Schedule Trigger như Cách 1.
Bước 2: Tạo thư mục theo thời gian. Thêm node Google Drive (đổi tên thành Create Folder), đặt Resource là Folder, Operation là Create, Folder Name là {{ $json.timestamp }}, Parent Folder là thư mục gốc chứa các bản backup.

Bước 3: Lấy mọi workflow. Thêm node n8n (đổi tên thành Get All WF), dùng credential n8n account, Resource là Workflow, Operation là Get Many, bật Return All.

Bước 4: Mỗi workflow một file JSON. Thêm Convert to File, đặt Operation là Convert to JSON, Mode là Each Item to Separate File.

Bước 5: Đặt tên file. Thêm node Code (ví dụ tên Dat_Ten), Mode là Run Once for All Items, ngôn ngữ JavaScript. Đoạn mã gán tên tạm Backup-1.json, Backup-2.json cho từng file; ở bước 6, ô File Name sẽ đổi thành tên workflow.
return items.map((item, index) => {
item.binary.data.fileName = `Backup-${index + 1}.json`;
return item;
});

Bước 6: Tải lên Google Drive. Thêm node Google Drive, Resource là File, Operation là Upload, Input Data Field Name là data. File Name là {{ $('Get All WF').item.json.name }}, Parent Folder chọn By ID với {{ $('Create Folder').item.json.id }} để file vào đúng thư mục vừa tạo.

Bước 7: Lưu và chạy thử. Mỗi lần chạy, Google Drive có thêm một thư mục mang dấu thời gian, bên trong là từng workflow.



Chạy ổn thì bấm Publish. Hai file workflow mẫu từng chia sẻ trên Google Drive không còn truy cập được, nên hãy dựng theo các bước trên.
Cách restore workflow và credential n8n
Restore n8n có ba mức: nhập workflow và credential từ file CLI, nhập một file JSON trên giao diện, hoặc khôi phục cả hệ thống từ volume và database. Dù chọn mức nào, credential chỉ dùng được khi máy đích có cùng khóa mã hóa với máy đã xuất.
Restore bằng lệnh import của n8n
Trên máy mới, hoàn tất tạo tài khoản owner trước, vì lệnh import cần một user có sẵn. Đặt cùng N8N_ENCRYPTION_KEY hoặc chép file config cũ vào .n8n, rồi chép thư mục backup vào volume và chạy lệnh (Back up and restore):
docker compose cp ./n8n-backup-2026-10-23/backups n8n:/home/node/.n8n/
docker compose exec -u node n8n n8n import:credentials --separate --input=/home/node/.n8n/backups/credentials/
docker compose exec -u node n8n n8n import:workflow --separate --input=/home/node/.n8n/backups/workflows/
docker compose restart n8n
- Workflow nhập vào bị tắt sẵn. Mở từng workflow cần chạy và bấm Publish.
- File export giữ nguyên ID. Máy đích có workflow hoặc credential cùng ID sẽ bị ghi đè.
- Có nhiều user hoặc project thì thêm
--userIdhoặc--projectIdđể gán chủ sở hữu.
Sau khi import, mở mục Credentials để kiểm tra đủ danh sách và thử một node dùng từng credential.

Restore workflow từ file JSON trên Google Drive
Tải file backup về máy (chuột phải vào file trên Google Drive, chọn Tải xuống). File của Cách 2 chứa một workflow, nhập bằng Import from File trên giao diện theo hướng dẫn import và export workflow trên n8n.

File Data của Cách 1 là một mảng nhiều workflow. Chép file lên máy chủ rồi chạy n8n import:workflow --input=Data.json; nếu lệnh báo lỗi định dạng, tách từng phần tử của mảng ra file riêng rồi import theo thư mục.

Ảnh chụp ở n8n 1.x nên mỗi workflow có công tắc Inactive; ở n8n 2.x, workflow chưa Publish hiện trạng thái tương ứng.
Restore toàn bộ hệ thống n8n
Khôi phục toàn bộ hệ thống đưa lại cả user, lịch sử chạy và cài đặt. Làm theo thứ tự:
- Dừng n8n:
docker compose stop n8n. - Giải nén bản sao volume vào volume n8n_data (và các thư mục custom node nếu có).
- Khôi phục PostgreSQL từ file
pg_dumpnếu dùng. - Đặt lại
.env: biến kết nối database,N8N_ENCRYPTION_KEYnếu tự đặt. - Khởi động:
docker compose up -d, rồi đăng nhập kiểm tra.
Làm sao biết bản backup n8n dùng được?
Bản backup n8n chỉ đáng tin khi bạn đã khôi phục thử nó ít nhất một lần. Dựng một n8n trống trên máy thử, nhập bản backup, rồi kiểm tra các điểm dưới. Nếu đang định đổi database, đọc thêm đổi database n8n từ SQLite sang PostgreSQL.
- Số workflow và credential khớp với máy gốc.
- Mở một credential không báo lỗi giải mã (nghĩa là khóa đúng).
- Chạy thử một workflow có webhook và một workflow theo lịch.
- Khóa mã hóa và API key được cất riêng, không nằm chung thư mục backup (bảo mật credentials và API key trong n8n).
Muốn chạy n8n 24/7 mà không tự cài? VPS n8n của Tino cài sẵn n8n trên VPS NVMe đặt tại Việt Nam; bạn vẫn có quyền root để cấu hình. Xem cấu hình và giá trên trang sản phẩm.
Câu hỏi thường gặp
Nên backup n8n bao lâu một lần?
Tùy tần suất bạn sửa workflow. Hệ thống thay đổi hằng ngày nên backup hằng ngày bằng cron; ngoài ra luôn sao lưu đầy đủ trước mỗi lần cập nhật n8n. Lịch chạy chỉnh ở cron hoặc ở node Schedule Trigger.
API key n8n dùng để làm gì trong workflow backup?
API key cho node n8n đọc danh sách workflow qua n8n API. n8n chỉ hiện key một lần lúc tạo; mất key thì xóa key cũ ở Settings > n8n API và tạo key mới.
Base URL của n8n là gì?
Base URL là địa chỉ API của bản n8n bạn đang dùng, dạng https://n8n.example.com/api/v1 với bản tự host, hoặc https://ten.app.n8n.cloud/api/v1 với n8n Cloud.
Có backup lên Dropbox, OneDrive hay Amazon S3 được không?
Được. Trong workflow, thay node Google Drive bằng node Dropbox, Microsoft OneDrive hoặc AWS S3. Với cách CLI, rclone hỗ trợ cả ba dịch vụ này.
Có nên xuất credential dạng giải mã để dễ đọc không?
Không nên. Cờ –decrypted ghi mọi khóa và token ở dạng chữ thường. Chỉ dùng khi chuyển sang máy có khóa mã hóa khác, và xóa file ngay sau khi khôi phục.
n8n Cloud có cần tự backup không?
n8n Cloud không có CLI hay volume để chép. Bạn có thể export từng workflow trên giao diện hoặc dùng workflow gọi n8n API ở gói trả phí; credential phải ghi lại theo cách riêng.
