Một sự cố nhỏ như lỗi hệ thống hoặc xóa nhầm có thể khiến bạn mất trắng toàn bộ workflow đã dày công thiết lập trên n8n. Vì vậy, backup workflow định kỳ là một trong những bước thiết yếu để đảm bảo an toàn dữ liệu trong n8n. Trong bài viết này, Tino sẽ hướng dẫn bạn cách backup workflow n8n lên Google Drive tự động A-Z.
Tại sao cần backup workflow trong n8n?
Dù n8n là một nền tảng workflow tự động hóa mạnh mẽ, nhưng cũng giống như bất kỳ hệ thống self-host nào khác, nó không hề miễn nhiễm với các sự cố về phần mềm, phần cứng hoặc sai sót của người dùng. Việc backup (sao lưu) workflow định kỳ giúp bạn:
- Bảo vệ quy trình tự động hóa đã dày công xây dựng: Một sự cố bất ngờ có thể khiến bạn mất hàng giờ, thậm chí hàng ngày công sức nếu không có bản sao lưu.
- Dễ dàng phục hồi sau lỗi hệ thống: Trong trường hợp mất dữ liệu, bạn chỉ cần vài thao tác là có thể khôi phục lại toàn bộ quy trình.
- Hỗ trợ việc di chuyển hệ thống hoặc nâng cấp server: Khi bạn muốn chuyển sang VPS khác hoặc nâng cấp máy chủ, việc có sẵn bản backup sẽ giúp quá trình này diễn ra mượt mà hơn. Nếu có nhu cầu đổi VPS, bạn có thể tham khảo VPS N8N – AI Workflow của Tino nhé!
- Đảm bảo tính liên tục trong vận hành: Không lo gián đoạn khi gặp sự cố, hệ thống của bạn sẽ luôn trong trạng thái sẵn sàng hoạt động.

Những rủi ro có thể gặp khi không backup workflow
Nếu bạn vận hành n8n trên môi trường self-host (tự triển khai trên VPS hoặc máy chủ riêng) và không thực hiện backup thường xuyên, bạn có thể đối mặt với những rủi ro sau:
- Mất toàn bộ workflow khi server gặp sự cố: Chỉ một cú sập nguồn hoặc lỗi ổ cứng là có thể làm mất trắng toàn bộ dữ liệu.
- Xóa nhầm workflow không thể khôi phục: Dù n8n có xác nhận trước khi xóa, nhưng nhầm lẫn trong thao tác vẫn có thể xảy ra, đặc biệt khi làm việc nhóm.
- Dữ liệu bị ghi đè khi cập nhật hoặc restore sai cách: Những thao tác không cẩn thận khi nâng cấp hoặc khôi phục có thể làm hỏng toàn bộ hệ thống.
- Khó khăn trong việc khôi phục khi chuyển sang VPS mới: Nếu không có bản sao lưu sẵn, quá trình chuyển hệ thống sẽ phức tạp và mất thời gian.

Hướng dẫn cách backup workflow n8n lên Google Drive
Bài viết này sẽ giới thiệu đến bạn 2 cách sử dụng chính n8n để backup workflow trong n8n mà không cần code phức tạp.
Cách 1: Backup toàn bộ workflow vào một file
Bước 1: Cấu hình Schedule Trigger (Kích hoạt theo lịch trình)
Thêm node Schedule Trigger vào workflow của bạn.
Trong tab Parameters, bạn có thể cấu hình tần suất kích hoạt workflow. Ví dụ, để sao lưu mỗi 3 ngày một lần vào lúc nửa đêm, bạn có thể thiết lập như sau:

Bước 2: Tạo API Key n8n
Để n8n có thể truy cập và lấy thông tin các workflow của chính nó, bạn cần tạo một API Key:
Trong giao diện n8n, nhấp vào biểu tượng Settings (Cài đặt) ở thanh bên trái.

Chọn mục n8n API.

Nhấp vào nút Create an API Key (Tạo API Key).
Trong cửa sổ Create API Key, bạn nhập Label (Nhãn) cho API Key, ví dụ: Backup và nhấp vào Save (Lưu).

Sau khi API Key được tạo, một cửa sổ sẽ hiển thị API Key của bạn. Lưu ý: hãy sao chép API Key này ngay lập tức vì bạn sẽ không thể xem lại nó sau này.

Nhấp vào Done (Hoàn tất).
Bước 3: Cấu hình node n8n để lấy Workflow
Thêm node n8n vào workflow phía sau node Schedule Trigger.

Trong tab Parameters của node n8n, bạn cấu hình:
- Credential to connect with: Chọn n8n account.
- Nếu chưa có, bạn cần tạo một tài khoản mới bằng cách nhấp vào biểu tượng bút chì và điền API Key đã tạo ở Bước 2 và Base URL của n8n của bạn (ví dụ: https://tinoacademy.io.vn/api/v1).

Sau đó nhấp Save và tiếp tục cấu hình như sau:
- Resource: Chọn Workflow.
- Operation: Chọn Get Many.
- Bật Return All để lấy tất cả các workflow.

Bước 4: Chuyển đổi dữ liệu Workflow sang JSON
Thêm node Convert to File (đặt tên tùy ý để dễ quản lý) vào workflow của bạn và kết nối nó với node n8n.

Trong tab Parameters của node Convert to File là:
- Operation: Chọn Convert to JSON.
- Mode: Chọn All Items to One File.
- Put Output File in Field: Giữ nguyên là data.

Bước 5: Cấu hình node Google Drive để lưu file
Thêm node Google Drive vào workflow của bạn và kết nối nó với node Convert to File.
Trong tab Parameters của node Google Drive cấu hình như sau:
- Credential to connect with: Chọn tài khoản Google Drive của bạn. Nếu chưa có, bạn cần xác thực tài khoản Google Drive của mình. Tham khảo hướng dẫn: Cách xác thực Credential cho Google trên n8n.
- Resource: Chọn File.
- Operation: Chọn Upload.
- Input Data Field Name: Nhập data (đây là trường chứa dữ liệu nhị phân từ node trước).
- File Name: Nhập Data (hoặc một tên khác tùy bạn chọn).
- Parent Drive: Chọn From list và chọn My Drive.
- Parent Folder: Bạn có thể chọn thư mục bằng cách:
- Chọn từ danh sách các thư mục có sẵn.
- Hoặc dán URL của thư mục Google Drive mà bạn muốn lưu vào. Ví dụ, nếu bạn muốn lưu vào thư mục Backup trong Google Drive, bạn có thể dán URL của thư mục đó vào đây.

Bước 6: Lưu và kiểm tra Workflow
Sau khi đã cấu hình tất cả các node, đặt tên cho workflow này và nhấp vào nút Save (Lưu) ở góc trên bên phải của giao diện n8n.

Để kiểm tra xem workflow có hoạt động đúng không, bạn có thể nhấp vào nút Test workflow ở cuối giao diện. Workflow sẽ chạy một lần và bạn có thể kiểm tra kết quả trên Google Drive của mình.

Bạn có thể thấy toàn bộ nội dung của các workflow trong file này.

Cuối cùng, bật công tắc Active ở góc trên bên trái để kích hoạt workflow chạy tự động theo lịch trình đã đặt.
Cách 2: Backup từng workflow, bao gồm các workflow mới
Bước 1: Cấu hình Schedule Trigger (Kích hoạt theo lịch trình)
Thêm node Schedule Trigger vào workflow và cấu hình theo hướng dẫn ở phần trên.

Bước 2: Tạo thư mục sao lưu trên Google Drive
Để tổ chức các bản sao lưu một cách hiệu quả, chúng ta sẽ tạo một thư mục mới trên Google Drive cho mỗi lần sao lưu và sử dụng dấu thời gian làm tên thư mục:
Thêm node Google Drive vào workflow của bạn.
Trong tab Parameters của node Google Drive, bạn cấu hình như sau:
- Credential to connect with: Chọn tài khoản Google Drive của bạn.
- Resource: Chọn Folder.
- Operation: Chọn Create.
- Folder Name: Nhập biểu thức {{ $json.timestamp }} để tạo tên thư mục dựa trên dấu thời gian hiện tại.
- Parent Drive: Chọn From list và chọn My Drive.
- Parent Folder: Dán URL của thư mục gốc mà bạn muốn chứa các thư mục sao lưu (By URL) hoặc chọn từ danh sách các thư mục có sẵn (Form List).

Bước 3: Lấy tất cả các Workflow từ n8n
Thêm node n8n (có thể đổi tên thành Get All WF tùy bạn) vào workflow và kết nối nó với node Google Drive vừa tạo.
Trong tab Parameters của node n8n, bạn cấu hình:
- Credential to connect with: Chọn n8n account đã tại trước đó.
- Resource: Chọn Workflow.
- Operation: Chọn Get Many.
- Bật Return All để lấy tất cả các workflow.

Bước 4: Chuyển đổi từng Workflow sang JSON
Thay vì chuyển đổi tất cả workflow thành một file JSON duy nhất như phần trên, chúng ta sẽ chuyển đổi từng workflow thành một file JSON riêng biệt:
Thêm node Convert to File vào workflow và kết nối nó với node n8n.
Trong tab Parameters của node Convert to File, bạn cấu hình:
- Operation: Chọn Convert to JSON.
- Mode: Chọn Each Item to Separate File.
- Put Output File in Field: Giữ nguyên là data .

Bước 5: Đặt tên cho các file sao lưu
Để các file sao lưu có tên dễ nhận biết, chúng ta sẽ sử dụng một node Code để đặt tên file dựa trên tên workflow gốc:
Thêm node Code vào workflow của bạn và kết nối nó với node Convert to File.
Trong tab Parameters của node Code (có thể đổi tên thành Dat_Ten), bạn cấu hình:
- Mode: Chọn Run Once For All Items.
- Language: Chọn JavaScript.
- Dán đoạn mã sau vào phần JavaScript:
return items.map((item, index) => {
item.binary.data.fileName = `Backup-${index + 1}.json`;
return item;
});

Bước 6: Tải các file sao lưu lên Google Drive
Thêm node Google Drive vào workflow của bạn và kết nối nó với node Code.
Trong tab Parameters của node Google Drive, bạn cấu hình:
- Credential to connect with: Chọn tài khoản Google Drive của bạn.
- Resource: Chọn File.
- Operation: Chọn Upload.
- Input Data Field Name: Nhập data (đây là trường chứa dữ liệu nhị phân từ node trước).
- File Name: Nhập biểu thức {{ $(‘Get All WF’).item.json.name }} để sử dụng tên workflow làm tên file.
- Parent Drive: Chọn From list và chọn My Drive.
- Parent Folder: Chọn By ID và nhập biểu thức {{ $(‘Create Folder’).item.json.id }} để tải file vào thư mục đã tạo ở Bước 2.

Bước 7: Lưu và kiểm tra Workflow
Sau khi đã cấu hình tất cả các node, đặt tên cho workflow và nhấp vào nút Save (Lưu) ở góc trên bên phải của giao diện n8n.

Để kiểm tra xem workflow có hoạt động đúng không, bạn có thể nhấp vào nút Test workflow ở cuối giao diện. Workflow sẽ chạy một lần và bạn có thể kiểm tra kết quả trên Google Drive của mình.

Đây là danh sách các workflow trong thư mục được tạo theo thời gian bạn nhấn Test workflow.

Sau khi test xong, bạn hãy bật công tắc Active ở góc trên bên trái để kích hoạt workflow chạy tự động theo lịch trình đã đặt.
Kết luận
Việc backup workflow n8n lên Google Drive không chỉ giúp bạn yên tâm hơn khi vận hành hệ thống tự động hóa mà còn mở rộng khả năng quản lý dữ liệu một cách chuyên nghiệp. Với vài bước thiết lập đơn giản, bạn sẽ không còn lo lắng về việc mất mát quy trình tự động quan trọng. Chúc bạn thành công!
Những câu hỏi thường gặp
Tôi có thể cấu hình tần suất sao lưu như thế nào?
Bạn có thể cấu hình tần suất sao lưu trong node Schedule Trigger như hướng dẫn. Ví dụ, bạn có thể thiết lập để sao lưu hàng ngày, hàng tuần, hoặc theo bất kỳ khoảng thời gian nào phù hợp với nhu cầu của bạn bằng cách điều chỉnh các thông số như Trigger Interval, Days Between Triggers, Trigger at Hour và Trigger at Minute.
API Key n8n dùng để làm gì và tại sao tôi phải sao chép nó ngay lập tức?
API Key n8n được sử dụng để cho phép workflow của bạn truy cập và lấy thông tin về các workflow khác trong cùng một phiên bản n8n.
Bạn phải sao chép API Key ngay lập tức sau khi tạo vì lý do bảo mật. Sau khi cửa sổ tạo API Key đóng lại, bạn sẽ không thể xem lại chuỗi ký tự của API Key đó nữa. Nếu làm mất, bạn sẽ phải tạo một API Key mới.
Base URL của n8n là gì và tôi tìm nó ở đâu?
Base URL của n8n là địa chỉ cơ sở mà qua đó bạn truy cập giao diện n8n của mình. Ví dụ, nếu bạn truy cập n8n tại https://tinoacademy.io.vn/, thì Base URL sẽ là https://tinoacademy.io.vn/api/v1 hoặc tương tự, tùy thuộc vào cách cài đặt n8n của bạn.
Tại sao lại cần sao lưu từng workflow riêng lẻ thay vì tất cả vào một file?
Sao lưu từng workflow riêng lẻ mang lại sự linh hoạt cao hơn trong việc quản lý và khôi phục. Nếu bạn chỉ cần khôi phục một workflow cụ thể, bạn không cần phải xử lý toàn bộ file sao lưu chứa tất cả các workflow. Điều này cũng giúp dễ dàng theo dõi các thay đổi của từng workflow theo thời gian.
Đoạn mã JavaScript trong node code có tác dụng gì?
Đoạn mã JavaScript trong node Code được sử dụng để tùy chỉnh tên của các file workflow trước khi chúng được tải lên Google Drive.
Mặc dù ví dụ trong hướng dẫn đặt tên file là Backup-1.json, Backup-2.json, v.v., bạn có thể sửa đổi đoạn mã này để sử dụng tên workflow thực tế (ví dụ: item.binary.data.fileName = ${item.json.name}.json;) hoặc bất kỳ quy tắc đặt tên nào khác mà bạn muốn.