+2

Tải, cấu hình và sử dụng Rclone

Xin chào các bạn, ngày hôm nay chúng ta sẽ cùng nhau thảo luận về một chủ đề: Rclone.

Rclone là một công cụ dòng lệnh mạnh mẽ được sử dụng để đồng bộ hóa, sao lưu, chia sẻ, và quản lý dữ liệu trên các dịch vụ lưu trữ đám mây cũng như giữa các hệ thống file.

Ok mình cùng bắt đầu thôi.

Install

  1. Linux
 Ubuntu : apt install rclone
 Cenos : yum install rclone
 Các alpine image : apt-get install rclone
  1. MacOs
 Brew : brew install rclone
 MacPorts : sudo port install rclone
 Curl : 
        cd && curl -O https://downloads.rclone.org/rclone-current-osx-amd64.zip
        unzip -a rclone-current-osx-amd64.zip && cd rclone-*-osx-amd64
        sudo mkdir -p /usr/local/bin
        sudo mv rclone /usr/local/bin/
        cd .. && rm -rf rclone-*-osx-amd64 rclone-current-osx-amd64.zip
  1. Windows
 Tải bản rclone.exe tùy theo phiên bản win : https://rclone.org/downloads/
 Winget : winget install Rclone.Rclone  

Config

  1. Sử dụng lệnh : rclone config để show list config cho các s3 khác nhau. Nếu chưa có sẽ hiện
No remotes found, make a new one?
n) New remote
s) Set configuration password
q) Quit config
  1. Chọn n để tạo mới và đặt tên.

  2. Sau khi đặt tên sẽ hiện ra bảng category cho từng field. sau đây sẽ là cách cọn để config cho S3!

 Storage : 4
 Provider : 1
 Env_auth : 1
 access_key_id : S3 key
 secret_access_key : S3 secret key
 Region : 1
 endpoint : s3 https endpoint
 location_constraint : Thay vì chọn, hãy nhập tên bucket muốn sync file (Ở đây là crm-storage)
 acl : Đây là chọn quyền cho file. Chọn 3
 server_file_encrytion : 1 (vtiger không cần hash tên file)
 sse_kms_key_id : 1
 storage_class : 2
 Edit advanced config : 2 
Sau đó hệ thống sẽ confirm lại những thông tin đã nhập. Nhập y để đồng ý
Cấu hình sẽ như này : Tên : test remote

Sync file

  • Mô tả: Lệnh rclone sync được sử dụng để đồng bộ hóa toàn bộ nội dung giữa một nguồn (source) và một đích (destination). Lệnh này sẽ xóa các tệp và thư mục trên đích nếu chúng không còn tồn tại trên nguồn, đảm bảo đích có nội dung giống hệt nguồn.

  • Cấu trúc câu lệnh rclone : rclone sync /local/path "config:path"

  • Trong đó :

rclone sync là command
/local/path là folder cần clone tại local (source)
config là config name ở trên
path là folder của bucket (destination)
Ví dụ : rclone sync storage "crm_s3:/crm-storage/storage" --progress

Copy file

  • Mô tả: Lệnh rclone copy được sử dụng để sao chép tệp và thư mục từ một nguồn (source) đến một đích (destination). Không giống như sync, lệnh này không xóa các tệp hoặc thư mục đã tồn tại trên đích, ngay cả khi chúng không còn tồn tại trong nguồn.

  • Cấu trúc câu lệnh rclone : rclone copy /local/path "config:path"

  • Trong đó :

rclone sync là command
/local/path/ là folder cần clone tại local (source)
config là config name ở trên
path là folder của bucket (destination)

Kiểm soát hành vi xóa

Rclone cung cấp các tham số để kiểm soát hoặc ngăn chặn việc xóa:

Tham số Tác dụng
--delete-during (Mặc định) Xóa tệp trên remote song song với quá trình đồng bộ.
--delete-before Xóa tệp trên remote trước khi bắt đầu tải lên (ít được dùng).
--delete-after Xóa tệp trên remote chỉ sau khi tất cả quá trình đồng bộ đã hoàn tất.
--dry-run Chạy thử mà không thực hiện bất kỳ thay đổi nào (kể cả xóa).
--ignore-existing Bỏ qua các tệp đã tồn tại và không thực hiện bất kỳ hành động xóa nào.
--ignore-deletes Không xóa bất kỳ tệp nào trên remote.

Ví dụ : rclone sync /local/path "config:path" --delete-after

Tham số thêm cho command

Column 1 Column 2
--ignore-existing Không ghi đè tệp đã tồn tại trên remote.
--create-empty-src-dirs Tạo các thư mục trống trên remote.
--size-only So sánh tệp dựa trên kích thước, bỏ qua thời gian sửa đổi.
--checksum So sánh tệp bằng checksum (nội dung tệp).
--backup-dir Chuyển tệp cũ bị ghi đè/xóa vào thư mục backup.
--dry-run Chạy thử, không thực hiện thay đổi thực tế.
--progress Hiển thị tiến trình chi tiết.
--exclude Loại trừ tệp/thư mục cụ thể khỏi đồng bộ.
--include Chỉ đồng bộ tệp/thư mục cụ thể.
--max-age / --min-age Đồng bộ tệp dựa trên thời gian sửa đổi.

Tóm tắt cơ chế hoạt động

  1. Đồng bộ hóa nội dung mới từ source sang remote:
  • Thêm tệp mới.
  • Cập nhật tệp đã thay đổi.
  1. Xóa các tệp hoặc thư mục trên remote:
  • Xóa những tệp không còn tồn tại trong source.

Trên đây là bài viết đầu tay về tổng quan Rclone của mình.

Cảm ơn các bạn đã dành thời gian.

Mình là Hiếu

Một Developer tập tành học DevOps.

Hẹn gặp các bạn trong bài viết sắp tới.


All Rights Reserved

Viblo
Let's register a Viblo Account to get more interesting posts.