Kiểm soát Phiên bản Nội dung WordPress và Sao lưu GitHub - Quy trình làm việc n8n

Bảo mật nội dung WordPress của bạn bằng luồng công việc (workflow) n8n nâng cao này. Lên lịch sao lưu tự động, so sánh các thay đổi nội dung và chỉ cam kết (commit) các bài đăng mới hoặc đã sửa đổi lên GitHub.

Xem trước Workflow

Sẵn sàng tự động hóa chưa?

Tải xuống mẫu quy trình làm việc n8n này và bắt đầu sử dụng ngay lập tức.

Đối tượng phù hợp


  • Quản trị viên blog cần sao lưu nội dung tự động và đáng tin cậy.

  • Các nhà phát triển quan tâm đến việc coi nội dung blog như mã nguồn (code) để theo dõi lịch sử phiên bản và truy xuất.

  • Người dùng n8n tìm kiếm một mẫu n8n nâng cao thể hiện logic vi phân (differential logic) phức tạp và các luồng công việc tự tham chiếu.

  • Bất kỳ ai cần một luồng công việc n8n mạnh mẽ để quản lý tệp trên GitHub.

Tổng quan

Luồng công việc n8n toàn diện này được thiết kế để đảm bảo tính toàn vẹn và lịch sử phiên bản cho nội dung WordPress của bạn bằng cách sao lưu các bài đăng vào một kho lưu trữ (repository) GitHub chuyên dụng. Không giống như các giải pháp sao lưu đơn giản, quy trình tự động hóa n8n này chỉ cam kết các thay đổi khi nội dung thực sự mới hoặc đã được sửa đổi, ngăn chặn các lần commit không cần thiết và duy trì lịch sử kho lưu trữ sạch sẽ. Nó sử dụng cấu trúc luồng công việc phụ tinh vi và một node n8n tùy chỉnh để so sánh vi phân nội dung JSON, làm cho nó trở thành một ví dụ điển hình về khả năng tự động hóa nâng cao trong n8n.

Cách thức hoạt động

Luồng công việc n8n hoạt động bằng cách bắt đầu theo lịch trình hoặc thủ công.


  1. Kích hoạt và Trích xuất: Bộ kích hoạt n8n (Lịch trình hoặc Thủ công) khởi tạo quy trình. Node n8n 'Get All WP Posts' truy xuất tất cả nội dung từ trang WordPress đã cấu hình.

  2. Lặp lại Luồng công việc: Node n8n 'Execute Workflow' sau đó xử lý từng bài đăng WordPress một cách riêng biệt. Quan trọng là, node này thực thi nửa sau của chính luồng công việc n8n đó (hoạt động như một chuỗi con), chuyển dữ liệu bài đăng theo từng mục.

  3. Thiết lập và Truy xuất: Chuỗi con trước tiên xác định cài đặt kho lưu trữ GitHub toàn cục (Globals). Nó cố gắng truy xuất tệp sao lưu hiện có cho bài đăng cụ thể đó từ GitHub bằng node n8n 'Get file data'. Node này được cấu hình để tiếp tục khi có lỗi, dự đoán rằng tệp có thể chưa tồn tại (tức là đó là một bài đăng mới).

  4. So sánh Nội dung: Luồng dữ liệu hợp nhất siêu dữ liệu GitHub được truy xuất với nội dung JSON thực tế của WordPress. Node Code n8n tùy chỉnh 'isDiffOrNew' được thực thi. Mã chuyên biệt này xử lý việc giải mã nội dung Base64 từ GitHub, sắp xếp các khóa JSON của cả dữ liệu hiện có và dữ liệu mới để đảm bảo so sánh từng byte đáng tin cậy, và đặt một biến trạng thái (github_status: "same", "different", hoặc "new").

  5. Hành động có Điều kiện: Node n8n 'Check Status' hoạt động như một công tắc dựa trên kết quả so sánh.

Nếu trạng thái là "same", luồng công việc n8n sẽ bỏ qua việc commit.
Nếu trạng thái là "different", node GitHub n8n 'Edit existing file' sẽ cập nhật tệp bằng nội dung mới.
* Nếu trạng thái là "new", node GitHub n8n 'Create new file' sẽ tạo tệp sao lưu lần đầu tiên.

Logic mạnh mẽ này đảm bảo rằng mọi lần thực thi n8n đều đóng góp ý nghĩa vào việc phiên bản hóa nội dung của bạn.

Hướng dẫn cài đặt

Để triển khai mẫu luồng công việc n8n mạnh mẽ này, hãy làm theo các bước sau:


  1. Nhập (Import): Sao chép dữ liệu JSON được cung cấp và nhập trực tiếp vào phiên bản n8n của bạn.

  2. Thông tin xác thực WordPress: Cấu hình node n8n 'Get All WP Posts' bằng thông tin xác thực API WordPress của bạn.

  3. Thông tin xác thực GitHub: Cấu hình thông tin xác thực node n8n GitHub ('Get file data', 'Create new file', 'Edit existing file') bằng Token Truy cập Cá nhân (PAT) với quyền ghi kho lưu trữ.

  4. Cài đặt Kho lưu trữ Toàn cục: Tìm node n8n 'Globals' (vị trí 200, 120). Bạn phải chỉnh sửa các tham số tại đây:

Đặt repo.owner thành tên người dùng hoặc tên tổ chức GitHub của bạn.
Đặt repo.name thành tên kho lưu trữ sao lưu của bạn.
Tùy chọn:* Điều chỉnh repo.path nếu bạn muốn cấu trúc thư mục cụ thể cho các tệp đã sao lưu của mình.

  1. Lên lịch: Xem xét và điều chỉnh node 'Schedule Trigger' n8n để khớp với tần suất sao lưu mong muốn của bạn. Cài đặt hiện tại chạy hàng ngày lúc 5 giờ chiều theo giờ UTC.

Chi tiết Node

Schedule Trigger / Manual Trigger: Hoạt động như bộ kích hoạt n8n chính để bắt đầu quy trình sao lưu, cho phép thực thi theo thời gian định sẵn hoặc tức thời.
Node n8n WordPress (Get All WP Posts): Lấy tất cả bài đăng và trang từ trang WordPress bằng thao tác 'getAll'. Dữ liệu này tạo thành tải trọng (payload) cho phần còn lại của luồng công việc n8n.
Node Execute Workflow n8n: Thiết yếu để lặp lại các bài đăng WordPress. Nó gọi cùng một ID luồng công việc ở chế độ mục 'each', tách biệt logic sao lưu GitHub cho từng bài đăng riêng lẻ.
Node Set n8n (Globals): Tập trung hóa cấu hình cho chủ sở hữu kho lưu trữ GitHub, tên và cấu trúc đường dẫn tệp, giúp cải thiện việc bảo trì cho mẫu n8n này.
Node n8n GitHub (Get file data): Cố gắng truy xuất tệp sao lưu JSON hiện có cho một mục WordPress cụ thể, sử dụng ID của mục đó trong tên tệp. Điều quan trọng là nó sử dụng continueOnFail: true để xử lý các trường hợp tệp chưa tồn tại.
Node Code n8n (isDiffOrNew): Chứa logic kiểm soát phiên bản cốt lõi. Nó xử lý việc giải mã Base64 của tệp hiện có và chuẩn hóa các khóa đối tượng JSON trước khi thực hiện so sánh chuỗi nghiêm ngặt để xác định xem nội dung là 'same' (giống nhau), 'different' (khác biệt), hay 'new' (mới).
Node Switch n8n (Check Status): Định tuyến luồng dựa trên github_status được xác định bởi node n8n trước đó, đảm bảo hành động GitHub chính xác (bỏ qua, chỉnh sửa hoặc tạo) được thực hiện.
Các node n8n GitHub (Create new file / Edit existing file): Thực hiện các thao tác tệp cần thiết trong kho lưu trữ GitHub, cam kết JSON nội dung WordPress được chuyển thành chuỗi (stringified) kèm theo thông báo commit liên quan chỉ ra trạng thái cập nhật.

Các quy trình n8n liên quan

miễn phí

Node: 14 Node
Đã cập nhật: Tháng 12 26 2025
Xem tất cả
Tạo bởi

Đặc sắc*