Giới thiệu về Rclone
Xin chào các bạn! Trong bài viết hôm nay, chúng ta sẽ cùng khám phá một công cụ cực kỳ hữu ích trong việc quản lý dữ liệu trên các dịch vụ lưu trữ đám mây – Rclone. Rclone là một công cụ dòng lệnh mạnh mẽ, cho phép người dùng đồng bộ hóa, sao lưu, chia sẻ, và quản lý dữ liệu giữa các hệ thống file và dịch vụ lưu trữ đám mây khác nhau.
Nội dung bài viết
- Cách cài đặt Rclone
- Cách cấu hình Rclone
- Cách sử dụng lệnh đồng bộ và sao chép file
- Kiểm soát hành vi xóa và tham số thêm cho command
- Tóm tắt cơ chế hoạt động của Rclone
Cài đặt Rclone
1. Trên hệ điều hành Linux
- Ubuntu: Chạy lệnh
apt install rclone
- CentOS: Chạy lệnh
yum install rclone
- Alpine: Chạy lệnh
apt-get install rclone
2. Trên hệ điều hành macOS
- Homebrew: Chạy lệnh
brew install rclone
- MacPorts: Chạy lệnh
sudo port install rclone
- Curl:
bash
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
3. Trên hệ điều hành Windows
- Tải bản
rclone.exe
phù hợp với phiên bản Windows từ trang tải về của Rclone - Sử dụng
Winget
: Chạy lệnhwinget install Rclone.Rclone
Cấu hình Rclone
Để bắt đầu cấu hình Rclone, sử dụng lệnh sau:
bash
rclone config
Nếu bạn chưa có cấu hình, bạn sẽ thấy thông báo:
No remotes found, make a new one?
n) New remote
s) Set configuration password
q) Quit config
Chọn n
để tạo cấu hình mới và đặt tên cho cấu hình này.
Khi bạn đặt tên, bạn sẽ thấy các trường được yêu cầu. Đối với cấu hình S3, hãy làm theo hướng dẫn dưới đây:
- Storage: 4
- Provider: 1
- Env_auth: 1
- access_key_id: Nhập S3 key
- secret_access_key: Nhập S3 secret key
- Region: 1
- endpoint: Nhập S3 https endpoint
- location_constraint: Nhập tên bucket mà bạn muốn đồng bộ (vd: crm-storage)
- acl: Chọn quyền cho file (Chọn 3)
- server_file_encryption: 1
- sse_kms_key_id: 1
- storage_class: 2
- Edit advanced config: 2
Sau khi nhập thông tin, hệ thống sẽ yêu cầu bạn xác nhận. Nhập y
để đồng ý.
Cấu hình của bạn sẽ được lưu với tên như bạn đã đặt.
Cách sử dụng lệnh đồng bộ và sao chép file
Lệnh đồng bộ hóa (Sync file)
Lệnh rclone sync
được sử dụng để đồng bộ hóa nội dung giữa nguồn và đích. Lưu ý rằng lệnh này sẽ xóa các tệp quan trọng trên đích nếu không còn tồn tại trên nguồn, đảm bảo đích thể hiện nội dung giống hệt nguồn.
Cấu trúc câu lệnh: rclone sync /local/path "config:path"
Ví dụ:
bash
rclone sync storage "crm_s3:/crm-storage/storage" --progress
Lệnh sao chép (Copy file)
Khác với lệnh sync
, lệnh rclone copy
chỉ sao chép tệp từ nguồn đến đích mà không xóa bất kỳ tệp nào đã tồn tại trên đích.
Cấu trúc câu lệnh: rclone copy /local/path "config:path"
Kiểm soát hành vi xóa
Rclone cho phép người dùng kiểm soát hành vi xóa với các tham số sau:
Tham số | Tác dụng |
---|---|
--delete-during | (Mặc định) Xóa tệp trên remote song song với việc đồng bộ. |
--delete-before | Xóa tệp trên remote trước khi bắt đầu tải lên (ít dùng). |
--delete-after | Xóa tệp 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 thay đổi nào. |
--ignore-existing | Bỏ qua các tệp đã tồn tại mà không thực hiện xóa. |
--ignore-deletes | Không xóa bất kỳ tệp nào trên remote. |
Ví dụ sử dụng:
bash
rclone sync /local/path "config:path" --delete-after
Tham số thêm cho lệnh
Tham số | Mô tả |
---|---|
--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. |
--checksum | So sánh tệp bằng checksum. |
--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
-
Đồng bộ hóa nội dung mới từ nguồn sang remote:
- Thêm tệp mới.
- Cập nhật tệp đã thay đổi.
-
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 nguồn.
Trên đây là bài viết tổng quan chi tiết về Rclone của mình. Hy vọng những thông tin này sẽ hữu ích cho các bạn trong việc quản lý dữ liệu trên các dịch vụ đám mây. Nếu có bất kỳ câu hỏi nào, hãy để lại ý kiến của bạn bên dưới!
Cảm ơn các bạn đã theo dõi bài viết!
Tác giả: Hiếu - Một Developer đang học hỏi về DevOps.
source: viblo