- Rclone là công cụ xử lý việc quản lý tệp đám mây từ dòng lệnh, có thể làm việc với hơn 70 sản phẩm lưu trữ và giao thức truyền tải tiêu chuẩn mà không phụ thuộc vào giao diện web
- Công cụ cung cấp các tác vụ kiểu Unix quen thuộc như
rsync,cp,mv,mountđược điều chỉnh cho môi trường đám mây, đồng thời hỗ trợ pipeline shell,--dry-run, script và tự động hóa qua API - Trong quá trình truyền, công cụ giữ nguyên dấu thời gian và checksum, đồng thời có thể tiếp tục từ điểm truyền thành công cuối cùng ngay cả trong môi trường giới hạn băng thông, kết nối không ổn định hoặc có quota
- Có thể mount hệ thống tệp cục bộ, đám mây và ảo như ổ đĩa trên Windows, macOS, Linux, FreeBSD và cung cấp chúng qua SFTP, HTTP, WebDAV, FTP, DLNA
- Một công cụ duy nhất có thể xử lý sao lưu, khôi phục, di chuyển giữa các đám mây, mã hóa, nén, chia khối, băm và hợp nhất, nên đặc biệt hữu ích khi vận hành đồng thời nhiều dịch vụ lưu trữ
Công cụ dòng lệnh để quản lý tệp đám mây
- Rclone là chương trình dòng lệnh để quản lý tệp trong lưu trữ đám mây
- Đây là công cụ giàu tính năng có thể thay thế giao diện lưu trữ web do nhà cung cấp đám mây cung cấp
- Đối tượng được hỗ trợ gồm hơn 70 dịch vụ, bao gồm object store S3, dịch vụ lưu trữ tệp cho doanh nghiệp và người dùng cá nhân, cùng các giao thức truyền tải tiêu chuẩn
- Người dùng gọi Rclone là “dao đa năng Thụy Sĩ của lưu trữ đám mây” và “công nghệ không thể phân biệt với phép thuật”
Lệnh kiểu Unix và tự động hóa
- Rclone cung cấp các thao tác đám mây tương ứng với những lệnh Unix quen thuộc
rsynccpmvmountlsncdutreermcat
- Cú pháp hỗ trợ pipeline shell, và có thể dùng
--dry-runđể kiểm tra tác vụ trước khi áp dụng thay đổi thật - Có thể dùng không chỉ từ dòng lệnh mà còn qua script và API
- Các nhà phát triển bên thứ ba tận dụng dòng lệnh hoặc API của Rclone để xây dựng giải pháp sao lưu, khôi phục, GUI và quy trình kinh doanh
Bảo vệ dữ liệu và độ ổn định khi truyền
- Công cụ bảo toàn dấu thời gian trong quá trình truyền và luôn xác minh checksum
- Ngay cả trong môi trường băng thông hạn chế, kết nối gián đoạn hoặc có quota, công cụ vẫn có thể tiếp tục lại từ tệp đã truyền thành công cuối cùng
- Có thể kiểm tra tính toàn vẹn tệp bằng lệnh check
- Khi có thể, công cụ dùng truyền phía máy chủ để giảm sử dụng băng thông cục bộ và thực hiện truyền giữa các nhà cung cấp mà không đi qua đĩa cục bộ
- Các tính năng liên quan đến truyền gồm
- Kiểm tra tính toàn vẹn tệp bằng hash MD5, SHA1
- Giữ nguyên dấu thời gian của tệp
- Tác vụ có thể tiếp tục lại bất cứ lúc nào
- Truyền qua mạng giữa các nhà cung cấp đám mây khác nhau
- Tải xuống đa luồng về đĩa cục bộ
Kịch bản sao lưu, khôi phục và di chuyển
- Sao lưu tệp lên lưu trữ đám mây và mã hóa khi cần
- Khôi phục tệp từ lưu trữ đám mây và giải mã khi cần
- Có thể mirror dữ liệu đám mây sang dịch vụ đám mây khác hoặc về cục bộ
- Có thể chuyển dữ liệu lên đám mây hoặc di chuyển giữa các nhà cung cấp lưu trữ đám mây
- Mount nhiều loại lưu trữ đám mây mã hóa, cache và dị chủng như ổ đĩa
- Phân tích và tổng hợp dữ liệu trong lưu trữ đám mây bằng lsf, ljson, size, ncdu
- Với Union, có thể hiển thị nhiều hệ thống tệp cục bộ hoặc đám mây như một hệ thống duy nhất
Thao tác tệp và cung cấp dịch vụ
- Copy sao chép tệp mới hoặc tệp đã thay đổi lên lưu trữ đám mây
- Sync đồng bộ thư mục theo một chiều để chúng trở nên giống hệt nhau
- Bisync đồng bộ hai chiều giữa hai thư mục
- Move chuyển tệp lên lưu trữ đám mây và xóa tệp cục bộ sau khi xác minh
- Check kiểm tra hash cùng các tệp thiếu hoặc thừa
- Mount mount lưu trữ đám mây như ổ đĩa mạng
- Serve cung cấp tệp cục bộ hoặc từ xa qua HTTP, WebDAV, FTP, SFTP, DLNA
- GUI nền web là tính năng thử nghiệm
Mount và backend ảo
- Mount hệ thống tệp cục bộ, đám mây và ảo như ổ đĩa trên Windows, macOS, Linux, FreeBSD
- Có thể cung cấp cùng hệ thống tệp đó qua SFTP, HTTP, WebDAV, FTP, DLNA
- Backend ảo bao bọc hệ thống tệp cục bộ hoặc đám mây để áp dụng thêm tính năng
Nhà cung cấp được hỗ trợ và cài đặt
- Các nhà cung cấp được hỗ trợ gồm Amazon S3, Backblaze B2, Box, Dropbox, Google Cloud Storage, Google Drive, Microsoft Azure Blob Storage, Microsoft OneDrive, Proton Drive, SFTP, SMB/CIFS, WebDAV, hệ thống tệp cục bộ và nhiều dịch vụ khác
- Những nhà cung cấp khác dựa trên giao thức tiêu chuẩn như WebDAV hoặc S3 cũng thường hoạt động ngay lập tức
- Rclone là phần mềm mã nguồn mở trưởng thành, lấy cảm hứng từ rsync và được viết bằng Go
- Rclone có trong kho chính thức của Ubuntu, Debian, Fedora, Brew và Chocolatey
- Khuyến nghị tải phiên bản mới nhất từ rclone.org
- Liên kết liên quan
1 bình luận
Ý kiến trên Hacker News
Thật sự rất thích rclone. Tôi nhớ trên trang quyên góp ngày trước có câu đại loại như “rclone là dự án làm vì tình yêu nên không cần tiền, nhưng nếu bạn góp chút để tôi mua hoa tặng vợ thì tôi sẽ rất biết ơn”
Khi đó tôi thấy tác giả đúng là một người tuyệt vời, và rất vui khi giờ đây anh ấy có thể làm rclone toàn thời gian. Hy vọng công việc này vẫn đem lại cảm giác xứng đáng
Tôi tìm được trang khi đó trên archive.org, và nó còn ấm áp hơn cả ký ức của tôi:
“Rclone is a pure open source for love-not-money project. However I’ve had requests for a donation page and coding rclone does take me away from something else I love - my wonderful wife.”
“So if you would like to send a donation, I will use it to buy flowers (and other pretty things) for her which will make her very happy.”
https://web.archive.org/web/20180624105005/https://rclone.or...
rclone cũng có thể mount cloud storage như đĩa cục bộ, nên đặc biệt tiện khi dùng với Kubernetes
Nếu dùng như một ổ đĩa khi có nhiều file trong cùng một thư mục thì tốc độ đọc/ghi không quá nhanh, nhưng đây là cách nhanh và dễ để tận dụng cloud storage trong dự án
Nó cũng hỗ trợ mã hóa đầu cuối theo từng vị trí, ví dụ mọi file đưa vào ổ đã mount sẽ được ghi vào thư mục
/footrên Dropbox ở trạng thái đã mã hóa. Điểm này hay ở chỗ các nhà cung cấp như Dropbox hay S3 vẫn chưa hỗ trợ mã hóa đầu cuối nativeNhìn chung rclone là một công cụ rất đáng có bên cạnh, và giải quyết được cực kỳ nhiều use case
Ví dụ Pi4 của tôi dùng rclone FTP server để expose Dropbox trong mạng nội bộ, và dùng một FTP server riêng để máy in mạng lưu các file scan. Trên cùng thiết bị đó, tôi cũng chạy backup tự động cloud storage của gia đình và vài người bạn thân bằng rclone. Trong mạng nội bộ của tôi, rclone gần như là vị cứu tinh
Tôi mount Google Drive trên desktop và laptop; vấn đề trên laptop là hệ điều hành xem ổ đó như ổ cục bộ, còn rclone không timeout khi gặp lỗi mạng. Nếu ứng dụng cố đọc hoặc ghi ổ đĩa khi chưa kết nối Wi-Fi, nó sẽ treo mãi. Ví dụ trong XFCE, nếu đang mở một cửa sổ Thunar thì phần lớn UI có thể bị khóa
Kiểm tra thì hóa ra là FUSE
Insync cũng không hay, Google Drive cũng không hay, nhưng nếu là thứ phải phụ thuộc hằng ngày thì tôi thấy nhất thiết phải có bản sao file cục bộ và đồng bộ tức thì giữa local-server. Đặc biệt là khi kết nối Internet không ổn định
Tất nhiên, để hỗ trợ mã hóa phía client thì phía dịch vụ thường cũng không cần làm gì đặc biệt lắm
Thậm chí còn có một client S3 được mã hóa riêng cho mã hóa phía client: https://docs.aws.amazon.com/amazon-s3-encryption-client/late...
Cách tôi thích dùng rclone là rclone ncdu: https://rclone.org/commands/rclone_ncdu/
Phần lớn nhà cung cấp dung lượng đám mây không cho thấy từng thư mục và thư mục con thực sự chiếm bao nhiêu dung lượng, và rclone ncdu rất hợp cho việc này
Tôi dùng rclone hằng ngày. Trong một số trường hợp nó đã thay thế sshfs
Tôi đẩy share
$Archivetrên home server lên rsync.net, rồi kéo ảnh từ tài khoản Google của tôi, của vợ, mẹ, bố và các con về$Archive. Tôi cũng gom 3 tài khoản cloud khác nhau cho$WORKvề$Archiverồi gửi lên rsync.netĐây thật sự là công cụ hạng nhất
https://rclone.org/commands/rclone_mount/
Hiện SSHFS không còn ai đóng góp tích cực và đều đặn, và cũng có nhiều issue đã biết
https://github.com/libfuse/sshfs#development-status
Để sao lưu, Restic cũng đáng xem xét. rclone và Restic dùng cùng nhau rất tốt
https://www.bobek.cz/blog/2020/restic-rclone/
May là có https://github.com/creativeprojects/resticprofile để giải quyết vấn đề này
Tôi không thích cách tiếp cận giả định rằng trong mọi tình huống phán đoán của họ là tốt nhất thế giới và người khác thì sai
Tôi biết mình đang làm gì, và có lý do rất chính đáng để không muốn mã hóa bản sao lưu
Restic hoàn toàn có thể mặc định sao lưu có mã hóa nhưng vẫn cho phép một tùy chọn như
--do-not-encryptSự ngạo mạn của các nhà phát triển thật đáng kinh ngạc, nên tôi sẽ không dùng Restic. Càng tiếc hơn vì đây là một giải pháp sao lưu rất tốt
Dùng thử Borg có lẽ tốt hơn
Nhiều máy được sao lưu hằng giờ bằng Restic lên máy chủ cục bộ, rồi dùng rclone đồng bộ các bản sao lưu đó hằng ngày lên S3
Cách này giảm số thao tác đọc/ghi, khôi phục nhanh hơn, và có thể giới hạn chỉ một máy có quyền truy cập S3
https://github.com/gilbertchen/duplicacy
Rclone hỗ trợ nhiều backend lưu trữ, và cũng cung cấp backend crypt có thể mã hóa bất kỳ backend lưu trữ nào
https://rclone.org/overview/
https://rclone.org/crypt/
Tôi thích việc trang chủ tự tin nêu rằng luôn thực hiện xác minh checksum
Trước đây tôi từng ngạc nhiên khi thấy có nhiều công cụ bỏ qua bước này đến mức nào. Tất nhiên nó sẽ chậm hơn, nhưng trong tình huống đồng bộ giữa các dịch vụ lưu trữ đám mây thì rất có khả năng bạn thật sự muốn kiểm tra checksum
Có người đã xem client mã nguồn mở, reverse engineer API Proton Drive và tạo plugin Rclone
Hiện đây là cách duy nhất để dùng Proton Drive trên Linux
Rclone là một công cụ như có phép màu và tôi đã dùng nó cho nhiều mục đích khác nhau
Lần cuối tôi kiểm tra, nó không dùng AWS SDK hoặc bị giới hạn bởi phiên bản Go, nên không thể dùng tất cả thiết lập trong
.aws/configTuy vậy, vì đây là công cụ đa năng nên cũng phần nào hiểu được việc nó không hỗ trợ mọi tính năng của mọi backend
Tài liệu có nhiều cảnh báo về các tính năng không còn được bảo trì như caching và các tính năng thử nghiệm. Bản thân các cảnh báo là công bằng, nhưng không nêu rõ các hạn chế cụ thể
Tôi thật sự thích Rclone. Đây là công cụ giá trị khi những người không rành kỹ thuật đưa rất nhiều dữ liệu lên các dịch vụ đám mây tiêu dùng/doanh nghiệp, rồi bằng cách nào đó cần đưa chúng về máy chủ để xử lý thêm
Khi có nhiều dữ liệu và mạng Internet ở nhà không tốt, nó cũng rất tuyệt cho truyền trực tiếp giữa các đám mây. Cài rclone lên một máy chủ có mạng tốt và chạy dưới tmux thì công việc vẫn tiếp tục chạy kể cả khi máy tính của tôi không bật
nohup /usr/bin/rclone ... &>/dev/null &Chạy như vậy rồi đăng xuất thì nó vẫn tiếp tục chạy