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

0 0 0

Người đăng: Trần Minh Hiếu

Theo Viblo Asia

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.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Đề thi interview DevOps ở Châu Âu

Well. Chào mọi người, mình là Rice - một DevOps Engineers ở đâu đó tại Châu Âu.

0 0 88

- vừa được xem lúc

In calculus, love also means zero.

Mình nhớ hồi năm 2 đại học, thầy giáo môn calculus, trong một giây phút ngẫu hứng, đã đưa ra cái definition này. Lúc đấy mình cũng không nghĩ gì nhiều.

0 0 65

- vừa được xem lúc

Chuyện thay đổi

Thay đổi là một thứ gì đó luôn luôn đáng sợ. Cách đây vài tháng mình có duyên đi làm cho một banking solution tên là X.

0 0 47

- vừa được xem lúc

Pet vs Cattle - Thú cưng và gia súc

Khái niệm. Pets vs Cattle là một khái niệm cơ bản của DevOps. Bài viết này sẽ nói về sự phát triển của các mô hình dịch vụ từ cốt lõi Pets and Cattle. 1.

0 0 35

- vừa được xem lúc

Git workflow được Google và Facebook sử dụng có gì hay ho

Với developer thì Git hẳn là công cụ rất quen thuộc và không thể thiếu rồi. Thế nhưng có mấy ai thực sự hiểu được Git.

0 0 85

- vừa được xem lúc

Kubernetes - Học cách sử dụng Kubernetes Namespace cơ bản

Namespace trong Kubernetes là gì. Tại sao nên sử dụng namespace.

0 0 113