Rclone介绍与使用

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进行交互式的配置

1
rclone config

说明
有关详细说明,请参阅官网

基本语法

Rclone将目录树从一个存储系统同步到另一个存储系统。语法如下:

1
Syntax: [options] subcommand <parameters> <parameters...>

源路径和目标路径由在配置文件中为存储系统指定的名称指定,可以在配置文件中定义任意数量的存储路径。

说明
更多子命令列表、选项配置的详细说明,请参阅官网

实战案例


联通云对象存储迁移至联通云对象存储(可互迁)

说明
以下配置信息均是通过rclone config交互式配置生成的

  1. 编辑~/.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. 验证是否可以正常列出源端桶信息
1
rclone lsd src-unicom-oss:
  1. 编辑~/.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. 验证是否可以正常列出目标端桶信息
1
rclone lsd dst-unicom-oss:
  1. 开启同步,--progress实时显示进度
1
rclone sync src-unicom-oss:zhangzhou-privateimage dst-unicom-oss:longyan-privateimage --progress

说明
迁移后文件的读写权限需要通过云服务商的OSS控制台进行设置或者通过S3browser工具进行批量设置

联通云对象存储迁移至阿里云对象存储(可互迁)

说明
以下配置信息均是通过rclone config交互式配置生成的

  1. 编辑~/.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. 验证是否可以正常列出源端桶信息
1
rclone lsd src-unicom-oss:
  1. 编辑~/.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. 验证是否可以正常列出目标端桶信息
1
rclone lsd dst-aliyun-oss:
  1. 开启同步,--progress实时显示进度
1
rclone sync src-unicom-oss:zhangzhou-privateimage dst-aliyun-oss:rcloneceshi --progress

说明
迁移后文件的读写权限需要通过云服务商的OSS控制台进行设置或者通过S3browser工具进行批量设置

联通云对象存储迁移至腾讯云对象存储(可互迁)

说明
以下配置信息均是通过rclone config交互式配置生成的

  1. 编辑~/.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. 验证是否可以正常列出源端桶信息
1
rclone lsd src-unicom-oss:
  1. 编辑~/.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. 验证是否可以正常列出目标端桶信息
1
rclone lsd dst-tencent-cos:
  1. 开启同步,--progress实时显示进度
1
rclone sync src-unicom-oss:zhangzhou-privateimage dst-tencent-cos:rcloneceshi-1252119423 --progress

说明
迁移后文件的读写权限需要通过云服务商的OSS控制台进行设置或者通过S3browser工具进行批量设置