Rclone介绍
概述
Rclone是一个命令行程序,用于管理云存储上的文件。它是云供应商Web存储接口的功能丰富的替代方案。超过70种云存储产品支持Rclone,包括S3对象存储、商业和消费者文件存储服务以及标准传输协议。
Rclone能做什么
- Backup (and encrypt) files to cloud storage
- Restore (and decrypt) files from cloud storage
- Mirror cloud data to other cloud services or locally
- Migrate data to the cloud, or between cloud storage vendors
- Mount multiple, encrypted, cached or diverse cloud storage as a disk
- Analyse and account for data held on cloud storage using lsf, ljson, size, ncdu
- Union file systems together to present multiple local and/or cloud file systems as one
特性
- Transfers
- MD5, SHA1 hashes are checked at all times for file integrity
- Timestamps are preserved on files
- Operations can be restarted at any time
- Can be to and from network, e.g. two different cloud providers
- Can use multi-threaded downloads to local disk
- Copy new or changed files to cloud storage
- Sync (one way) to make a directory identical
- Move files to cloud storage deleting the local after verification
- Check hashes and for missing/extra files
- Mount your cloud storage as a network disk
- Serve local or remote files over HTTP/WebDav/FTP/SFTP/DLNA
- Experimental Web based GUI
支持的云存储产品
Rclone支持70+种云存储产品清单
说明
还有很多其他基于标准协议(例如WebDAV或S3)构建的,开箱即用。
安装Rclone
Rclone是单个可执行文件(rclone,或Windows上的rclone.exe),直接在官网下载页下载各大平台对应的zip压缩文件提取到选择的位置即可,或者下载对应平台的安装包进行安装
以CentOS为例:
1
| rpm -ivh rclone-v1.64.2-linux-amd64.rpm
|
说明
其他平台详细的安装说明请见官网安装说明
Rclone基本使用
初始配置
安装完成后,首先需要配Rclone,由于对象存储系统具有相当复杂的身份验证,因此这些身份验证信息均保存在配置文件中(默认为/root/.config/rclone/rclone.conf),也可以通过--config指定配置文件位置
最简单方法是使用config选项运行rclone进行交互式的配置
说明
有关详细说明,请参阅官网
基本语法
Rclone将目录树从一个存储系统同步到另一个存储系统。语法如下:
1
| Syntax: [options] subcommand <parameters> <parameters...>
|
源路径和目标路径由在配置文件中为存储系统指定的名称指定,可以在配置文件中定义任意数量的存储路径。
说明
更多子命令列表、选项配置的详细说明,请参阅官网
实战案例
联通云对象存储迁移至联通云对象存储(可互迁)
说明
以下配置信息均是通过rclone config交互式配置生成的
- 编辑
~/.config/rclone/rclone.conf,新增源端对象存储连接信息
1 2 3 4 5 6
| [src-unicom-oss] type = s3 provider = Ceph access_key_id = 3BB86A******467CADA5C28201241CFA8714 secret_access_key = 13A6A3******4E139829E0396DEE6C106579 endpoint = https://obs-fjzz.cucloud.cn
|
- 验证是否可以正常列出源端桶信息
1
| rclone lsd src-unicom-oss:
|
- 编辑
~/.config/rclone/rclone.conf,新增目标端对象存储连接信息
1 2 3 4 5 6
| [dst-unicom-oss] type = s3 provider = Ceph access_key_id = 3BB86A******467CADA5C28201241CFA8714 secret_access_key = 13A6A3******4E139829E0396DEE6C106579 endpoint = https://obs-fjly.cucloud.cn
|
- 验证是否可以正常列出目标端桶信息
1
| rclone lsd dst-unicom-oss:
|
- 开启同步,
--progress实时显示进度
1
| rclone sync src-unicom-oss:zhangzhou-privateimage dst-unicom-oss:longyan-privateimage --progress
|
说明
迁移后文件的读写权限需要通过云服务商的OSS控制台进行设置或者通过S3browser工具进行批量设置
联通云对象存储迁移至阿里云对象存储(可互迁)
说明
以下配置信息均是通过rclone config交互式配置生成的
- 编辑
~/.config/rclone/rclone.conf,新增源端对象存储连接信息
1 2 3 4 5 6
| [src-unicom-oss] type = s3 provider = Ceph access_key_id = 3BB86A******467CADA5C28201241CFA8714 secret_access_key = 13A6A3******4E139829E0396DEE6C106579 endpoint = https://obs-fjzz.cucloud.cn
|
- 验证是否可以正常列出源端桶信息
1
| rclone lsd src-unicom-oss:
|
- 编辑
~/.config/rclone/rclone.conf,新增目标端对象存储连接信息
1 2 3 4 5 6 7 8
| [dst-aliyun-oss] type = s3 provider = Alibaba access_key_id = LTAI5t******WAqWAuG34wsh7 secret_access_key = SAt9WQ******RgWhhg12YvuQ9P5Vu5 endpoint = oss-cn-shenzhen.aliyuncs.com acl = private storage_class = STANDARD
|
- 验证是否可以正常列出目标端桶信息
1
| rclone lsd dst-aliyun-oss:
|
- 开启同步,
--progress实时显示进度
1
| rclone sync src-unicom-oss:zhangzhou-privateimage dst-aliyun-oss:rcloneceshi --progress
|
说明
迁移后文件的读写权限需要通过云服务商的OSS控制台进行设置或者通过S3browser工具进行批量设置
联通云对象存储迁移至腾讯云对象存储(可互迁)
说明
以下配置信息均是通过rclone config交互式配置生成的
- 编辑
~/.config/rclone/rclone.conf,新增源端对象存储连接信息
1 2 3 4 5 6
| [src-unicom-oss] type = s3 provider = Ceph access_key_id = 3BB86A******467CADA5C28201241CFA8714 secret_access_key = 13A6A3******4E139829E0396DEE6C106579 endpoint = obs-fjzz.cucloud.cn
|
- 验证是否可以正常列出源端桶信息
1
| rclone lsd src-unicom-oss:
|
- 编辑
~/.config/rclone/rclone.conf,新增目标端对象存储连接信息
1 2 3 4 5 6 7 8
| [dst-tencent-cos] type = s3 provider = TencentCOS access_key_id = AKIDCv******1jll0TcRK167HvlQNDEBtKZ0 secret_access_key = BavESg******5HvnPrNTdPR6aHaOiXvw endpoint = cos.ap-guangzhou.myqcloud.com acl = default storage_class = STANDARD
|
- 验证是否可以正常列出目标端桶信息
1
| rclone lsd dst-tencent-cos:
|
- 开启同步,
--progress实时显示进度
1
| rclone sync src-unicom-oss:zhangzhou-privateimage dst-tencent-cos:rcloneceshi-1252119423 --progress
|
说明
迁移后文件的读写权限需要通过云服务商的OSS控制台进行设置或者通过S3browser工具进行批量设置