Bash + rclone · OneDrive ↔ Google Drive · Hướng dẫn vận hành mã nguồn mở
Truyền dữ liệu đám mây chỉ bằng thao tác sao chép trong Bash với rclone
rclone đã hỗ trợ sẵn việc phân trang trên đám mây, thử lại, truyền có thể tiếp tục và hàm băm của nhà cung cấp. Nhiệm vụ kỹ thuật là bao bọc các chức năng cơ bản đó trong một quy trình vận hành an toàn theo nguyên tắc đóng khi có lỗi và có tính đến dung lượng.
Cập nhật ; 20 phút đọc.
Câu trả lời ngắn gọn
FileArk là lựa chọn có quản lý đơn giản hơn cho các đợt di chuyển lớn hoặc không có người giám sát: dịch vụ thực hiện truyền trực tuyến, đã được kiểm thử với khối lượng công việc nhiều terabyte và kiểm tra từng kết quả trước khi hoàn tất. Với người vận hành muốn kiểm soát đường đi của dữ liệu bằng shell, trình bao Bash theo giấy phép MIT này sao chép các lô có giới hạn qua vùng lưu tạm cục bộ, xác minh từng byte ở cả hai chặng và không bao giờ xóa tệp nguồn.
Tại sao nên dùng trình bao cho rclone thay vì xây dựng lại ứng dụng khách cho từng nhà cung cấp
rclone cung cấp cho quy trình shell một lớp trừu tượng hoàn thiện cho các nhà cung cấp, cấu hình OAuth, phân trang, cơ chế thử lại, truyền có thể tiếp tục, kiểm soát tác vụ đồng thời, lệnh lập danh mục và lệnh xác minh. Nhờ đó, trình bao có thể tập trung vào các nguyên tắc bất biến của quá trình di chuyển: chỉ dùng lệnh sao chép, vùng lưu tạm có giới hạn, dung lượng dự phòng, danh sách tệp có tính xác định và tiến trình được lưu bền vững.
Điều đó không khiến công việc trở nên tự động. Người vận hành vẫn chịu trách nhiệm về cấu hình remote, bảo mật mã thông báo, thời gian hoạt động của mạng, giám sát tiến trình, ổ đĩa cục bộ, nhật ký, giới hạn của nhà cung cấp, xem xét các đối tượng lỗi và nghiệm thu đích. FileArk dành cho người dùng muốn quy trình đó được vận hành như một luồng công việc trực tuyến có quản lý thay vì trên máy trạm hoặc máy chủ của họ.
Tập lệnh tuyệt đối không gọi rclone move, sync, delete, purge hoặc rmdirs. Tập lệnh dùng lsf và about để thăm dò, dùng copy cho từng chặng và dùng check --download để xác minh toàn bộ từng byte. Thao tác xóa duy nhất là xóa một tệp đã được xác minh khỏi thư mục lưu tạm cục bộ.
Tải phiên bản Bash và giấy phép MIT
Tải chương trình truyền bằng Bash và rclone
Trình bao chỉ sao chép, có giới hạn lô, phần dung lượng dự phòng cục bộ và tại đích, xác minh toàn bộ từng byte, điểm kiểm tra, tùy chọn thử lại và bản demo không cần mạng.fileark-cloud-transfer.sh · Bash 4+ · rclone · jq · giấy phép MIT
Tải giấy phép MIT xuống
Thông báo cấp phép áp dụng cho cả hai tập lệnh truyền thủ công của FileArk.LICENSE-fileark-cloud-transfer.txt · MIT · văn bản thuần túy
Chạy bản minh họa vận hành không cần mạng

Bạn có thể chạy bản demo một cách an toàn trước khi cài đặt rclone hoặc jq vì quá trình phân tích đối số sẽ thoát trước bước kiểm tra phần phụ thuộc. Kết quả đầu ra nêu tên các thao tác phá hủy bị cấm, hiển thị cả hai mức dung lượng dự phòng và kết thúc bằng số lượng mục đã xóa khỏi nguồn.
chmod +x fileark-cloud-transfer.sh
bash -n fileark-cloud-transfer.sh
./fileark-cloud-transfer.sh --demo
./fileark-cloud-transfer.sh --helpCài đặt và cấu hình các phần phụ thuộc phục vụ vận hành
Cài đặt phiên bản rclone hiện hành theo hướng dẫn chính thức và cài đặt jq bằng trình quản lý gói của hệ điều hành. Cần có Bash 4 trở lên vì trình bao sử dụng cơ chế xử lý lỗi nghiêm ngặt và các biểu thức điều kiện hiện đại.
Chạy rclone config và tạo hai remote có tên riêng biệt, chẳng hạn onedrive: và gdrive:. Nhập ID ứng dụng khách và khóa bí mật của riêng bạn cho nhà cung cấp khi chính sách hoặc giới hạn tốc độ yêu cầu ứng dụng OAuth chuyên dụng. rclone lưu mã thông báo OAuth trong tệp cấu hình; hãy bảo vệ tệp đó bằng quyền truy cập hạn chế và tuyệt đối không đóng gói cùng tập lệnh.
Xác nhận từng remote bằng lệnh liệt kê chỉ đọc và lệnh kiểm tra hạn ngạch trước khi chạy trình bao. Dùng các đường dẫn như onedrive:Department/Archive khi phạm vi chỉ bao gồm một cây thư mục con.
rclone version
rclone config
rclone lsd onedrive:
rclone lsd gdrive:
rclone about onedrive: --json | jq
rclone about gdrive: --json | jqCố định một danh mục xác định trước khi di chuyển dữ liệu
Trình bao dùng rclone lsf theo cách đệ quy với ký tự tab phân tách rõ ràng và định dạng sp, tạo ra kích thước theo sau là đường dẫn. Trình bao xác thực rằng mỗi kích thước là số và mỗi đường dẫn là tương đối, sau đó loại trừ các đường dẫn đã có trong điểm kiểm tra được xác minh.
Phiên bản Bash từ chối tên tệp chứa ký tự tab, ký tự xuống dòng kiểu carriage return hoặc ký tự dòng mới vì danh sách --files-from-raw phân tách bằng dòng mới không thể biểu diễn chúng một cách rõ ràng. Hãy dùng phiên bản Python hoặc định dạng danh mục chuyên dụng khi có những tên như vậy.
Điểm kiểm tra theo đường dẫn được thiết kế có chủ đích để đơn giản và dễ kiểm tra. Cơ chế này giả định đường dẫn nguồn vẫn ổn định trong suốt lần chạy. Nếu có thể, hãy tạm dừng thao tác ghi vào nguồn; hoặc tạo lại và đối chiếu danh mục khi dự kiến có thay đổi đồng thời.
rclone lsf "$SOURCE" \
--recursive \
--files-only \
--format "sp" \
--separator