Rclone là công cụ rất tiện để di chuyển và đồng bộ dữ liệu giữa các cloud media storage, ví dụ S3, DigitalOcean Spaces hay Contabo Object Storage. Nếu bạn cần làm việc với nhiều remote cùng lúc thì rclone là lựa chọn gọn và dễ nhớ hơn rất nhiều.
Bài này đi theo luồng cơ bản: cài đặt, cấu hình remote, test kết nối, rồi chạy sync giữa hai storage.
Lưu ý khi cài rclone trên các môi trường khác nhau
Rclone có thể cài trên Linux, macOS và Windows. Khi chạy trên môi trường Linux hoặc macOS, bạn có thể gõ lệnh:
rclone config
Trong khi trên môi trường Windows, sau khi giải nén ra file `rclone.exe`, bạn chỉ cần chạy ngay trong folder vừa giải nén:
./rclone config
Rclone cấu hình và test remote như thế nào
Đầu tiên, ta cần cấu hình remote bằng câu lệnh:
rclone config
Màn hình rclone khá trực quan, bạn lần lượt làm theo các bước, từ `n` để tạo remote mới, chọn type phù hợp, rồi nhập thông tin provider tương ứng.
Các lưu ý:
1. Khi hỏi tới bước nhập credentials, thường ta có thể chọn cách nhập ở bước kế tiếp nếu chưa sẵn sàng ngay.
2. Các tuỳ chọn nâng cao như `location_constraint`, `acl`, `server_side_encryption`, `sse_kms_key_id` có thể bỏ qua nếu chưa cần.
Sau khi cấu hình xong, ta có thể test connection bằng lệnh:
rclone ls digitalocean:codetot
Nếu kết quả trả ra là danh sách file hoặc folder đang có, như vậy là thành công.
Cấu hình đồng bộ file từ remote này sang remote khác
Sau khi đã thấy remote hoạt động ổn, ta có thể đồng bộ dữ liệu sang remote khác bằng lệnh:
rclone sync digitalocean:codetot s3:codetot -P
`-P` có nghĩa là hiển thị progress để dễ theo dõi quá trình đồng bộ. Nếu bạn muốn copy thay vì mirror 2 đầu, có thể đổi sang `rclone copy` tuỳ trường hợp.
Mình cũng có dùng Contabo Object Storage, tài liệu tham khảo chính thức ở đây:
https://docs.contabo.com/docs/products/Object-Storage/Tools/rclone
Đọc thêm về lệnh `sync` và `ls` trên tài liệu chính thức của rclone:
https://rclone.org/commands/rclone_sync/
https://rclone.org/commands/rclone_ls/
Nếu bạn chỉ cần chuyển dữ liệu giữa hai máy chủ qua SSH, xem bài liên quan khác ở đây: bài chuyển file giữa hai máy chủ qua SSH.