Sao lưu CSDL hàng ngày lên GitHub (Định dạng CSV) - Quy trình làm việc n8n

Tự động sao lưu PostgreSQL hàng ngày với workflow n8n mạnh mẽ này. Chuyển đổi các bảng sang định dạng CSV và tải lên hoặc cập nhật chúng trên kho lưu trữ GitHub để đảm bảo tính toàn vẹn dữ liệu và quản lý phiên bản.

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


  • Kỹ sư DevOps cần sao lưu lưu trữ cơ sở dữ liệu tự động.

  • Lập trình viên yêu cầu sao lưu dữ liệu sản phẩm hàng ngày có kiểm soát phiên bản.

  • Người dùng tìm kiếm các ví dụ nâng cao về logic điều kiện trong workflow n8n.

  • Quản trị viên dữ liệu tìm kiếm giải pháp xuất dữ liệu tự động, đáng tin cậy bằng các mẫu n8n.

Tổng quan

Việc duy trì các bản sao lưu CSDL đáng tin cậy là rất quan trọng đối với bất kỳ ứng dụng nào. Workflow n8n chuyên biệt này cung cấp giải pháp toàn diện để trích xuất, chuyển đổi và lưu trữ dữ liệu PostgreSQL tự động bằng cách sử dụng GitHub để lưu trữ và quản lý phiên bản. Bằng cách sử dụng trigger theo chu kỳ của n8n, hệ thống đảm bảo rằng cứ sau 24 giờ, dữ liệu từ các bảng CSDL được chỉ định sẽ được truy vấn, chuyển đổi thành định dạng CSV phổ biến và cam kết có điều kiện vào kho lưu trữ. Quy trình tinh vi này, được xây dựng hoàn toàn trong workflow n8n, xác định xem bảng đó là mới (cần tải lên) hay đã tồn tại (cần cập nhật), giúp tăng hiệu quả và ngăn ngừa trùng lặp tệp không cần thiết. Cấu hình node n8n mạnh mẽ này là một bổ sung tuyệt vời cho bộ công cụ giám sát vận hành của bạn.

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

Quy trình tự động hóa này được khởi tạo bởi trigger Daily Schedule của n8n, được đặt để chạy mỗi 24 giờ.


  1. Chuẩn bị (Kiểm tra GitHub): Workflow n8n trước tiên sử dụng node GitHub n8n để liệt kê tất cả các tệp hiện có trong kho lưu trữ đích. Các tên tệp này được tổng hợp thành một danh sách duy nhất để tra cứu nhanh.

  2. Liệt kê Bảng (Postgres): Đồng thời, node PostgreSQL n8n kết nối với cơ sở dữ liệu để lấy danh sách tất cả tên bảng từ information_schema.tables trong schema public.

  3. Vòng lặp Trích xuất Dữ liệu: Workflow đi vào vòng lặp hàng loạt chính (Loop Over Items) để xử lý từng tên bảng riêng lẻ. Đối với mỗi bảng, một node PostgreSQL n8n thực thi truy vấn SELECT để lấy tất cả dữ liệu.

  4. Chuyển đổi: Dữ liệu JSON nhận được của bảng sau đó được chuyển đến node Convert to File của n8n, node này sẽ biến đổi dữ liệu thành tệp CSV nhị phân. Tệp kết quả được đặt tên động theo tên bảng nguồn (ví dụ: users.csv).

  5. Tải lên/Cập nhật có điều kiện: Node Split to single items tiếp theo của n8n chuẩn bị tệp CSV cho hành động cuối cùng. Một node IF của n8n (Check if file exists in repository) so sánh tên tệp CSV với danh sách tên tệp GitHub đã tổng hợp từ Bước 1.

  6. Hành động:

Nếu Đúng (Tệp tồn tại): Workflow thực thi node Update file [GITHUB] của n8n, cam kết dữ liệu nhị phân CSV mới vào đường dẫn tệp hiện có.
* Nếu Sai (Bảng mới): Workflow thực thi node Upload file [GITHUB] của n8n, tạo một tệp mới trong kho lưu trữ.

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

Để triển khai mẫu workflow n8n mạnh mẽ này, hãy làm theo các bước sau:


  1. Nhập (Import): Sao chép mã JSON được cung cấp và nhập trực tiếp vào phiên bản n8n của bạn thông qua tùy chọn 'Workflows' > 'New' > 'Import from JSON'.

  2. Thông tin xác thực PostgreSQL: Tìm các node PostgreSQL n8n (List tablesList tables1). Bạn phải cấu hình thông tin xác thực cần thiết để kết nối với cơ sở dữ liệu của mình. Đảm bảo thông tin xác thực cho phép truy cập vào information_schema.tables cho mục đích liệt kê và quyền SELECT đối với các bảng bạn dự định sao lưu.

  3. Thông tin xác thực GitHub: Cấu hình thông tin xác thực OAuth2 cho các phiên bản node GitHub n8n. Tài khoản này phải có quyền đọc/ghi vào kho lưu trữ đích (github-repo trong mẫu) để liệt kê, cập nhật và tải lên các tệp.

  4. Cấu hình: Cập nhật các tham số node GitHub n8n để phản ánh tên 'Owner' và 'Repository' GitHub cụ thể của bạn.

  5. Kích hoạt: Lưu workflow và chuyển nút gạt từ 'Inactive' (Không hoạt động) sang 'Active' (Hoạt động). Trigger Daily Schedule của n8n giờ đây sẽ thực thi việc sao lưu mỗi 24 giờ.

Chi tiết Node

Daily Schedule (trigger n8n): Node khởi đầu của n8n, chịu trách nhiệm chạy toàn bộ quy trình tự động hóa sao lưu một lần mỗi 24 giờ.
List files from repository [GITHUB] (node GitHub n8n): Liệt kê nội dung hiện tại của kho lưu trữ GitHub đích để xác định bảng nào đã có bản sao lưu.
Combine file names [GITHUB] (node Item Lists n8n): Tổng hợp tên của các tệp hiện có từ GitHub, hợp lý hóa việc kiểm tra được thực hiện sau đó bởi node IF.
List tables1 (node PostgreSQL n8n): Truy vấn schema hệ thống của cơ sở dữ liệu (information_schema) để lấy danh sách tất cả các bảng cần sao lưu.
List tables (node PostgreSQL n8n): Được thực thi bên trong vòng lặp, node này truy vấn động tất cả dữ liệu (operation: select, returnAll: true) từ một tên bảng cụ thể nhận được từ node n8n trước đó.
Convert to File1 (node Convert To File n8n): Nhận dữ liệu PostgreSQL thô (định dạng JSON) và chuyển đổi nó thành tệp CSV nhị phân, đảm bảo khả năng tương thích với các hệ thống kiểm soát phiên bản. Tham số tên tệp được đặt động bằng cách sử dụng tên bảng.
Check if file exists in repository (node IF n8n): Node n8n luồng điều khiển cốt lõi sử dụng danh sách các tệp hiện có đã tổng hợp để quyết định xem tệp CSV hiện tại nên được cập nhật (Đúng) hay tải lên dưới dạng mới (Sai).
Update file [GITHUB] / Upload file [GITHUB] (node GitHub n8n): Các node này xử lý việc cam kết cuối cùng của dữ liệu nhị phân CSV vào kho lưu trữ, đảm bảo bản sao lưu hàng ngày được lưu trữ và có phiên bản.

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

miễn phí

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

AI and Automation developer. Im implementing n8n and ai tools to automate marketing and sales in companies

Đặc sắc*