使用Rclone将阿里云对象存储(OSS)的文件全部迁移至雨云对象存储(ROS)的教程,其他的对象存储也可以参照本教程。

Rclone简介

Rclone 是一个用于和同步云平台同步文件和目录命令行工具。采用 Go 语言开发。

它允许在文件系统和云存储服务之间或在多个云存储服务之间访问和同步文件,它具有单向同步功能,使目录完全相同,它具有加密、缓存和联合后端,支持 Fuse 安装,并且可以通过 HTTP、WebDAV、FTP、SFTP 或 DLNA 服务本地或远程文件。

它支持超过 40 种不同的云存储服务,包括 Amazon S3, Google Drive, Dropbox, Microsoft OneDrive, Google Cloud Storage, Amazon Drive, OpenStack Swift, Backblaze B2, Yandex Disk, SFTP, WebDAV, FTP, SFTP, Minio, Wasabi, Alibaba OSS,, SwiftStack, Tencent COS, Wasabi, Yandex.Disk, Yandex.Files等等。

rclone 支持多种文件传输方式,包括复制,同步,移动,删除文件。它还支持文件加密和压缩,支持分块上传和分块下载,可以暂停和恢复传输,支持文件的校验和合并。

rclone 的主要优势在于它的灵活性和可扩展性。它可以用来做很多事情,包括备份,文件同步,数据迁移等。它可以在各种平台上运行,包括 Windows,macOS,Linux,FreeBSD,NetBSD 等。

rclone 的配置简单,可以使用命令行或者配置文件来配置。使用 rclone 可以非常方便的操作云存储,支持的命令也非常丰富,使用起来非常方便。

简单来讲,主要的功能如下:

  • 将文件备份(和加密)到云存储
  • 从云存储还原(和解密)文件
  • 将云数据镜像到其他云服务或本地
  • 将数据迁移到云,或在云存储供应商之间迁移
  • 将多个、加密、缓存或不同的云存储挂载为磁盘
  • 使用 lsf、ljson、size、ncdu 分析和核算云存储上保存的数据
  • 将文件系统合并在一起,将多个本地和/或云文件系统呈现为一个

准备

注册账号并创建存储桶

首先需要注册个雨云账号并新建一个存储桶。

雨云优惠注册地址:https://www.rainyun.com/zeruns_?s=blog

优惠码:zeruns

使用优惠码注册后绑定微信可获得5折优惠券

雨云账号注册&云服务器购买和使用教程:https://www.bilibili.com/video/BV1Kj411x7G6/

存储桶创建教程可以参考这篇文章:https://blog.zeruns.tech/archives/743.html

下载安装Rclone

Rclone官方下载地址:https://rclone.org/downloads/

window版雨云对象存储下载地址:https://cn-sy1.rains3.com/rainyun-assets/Pic/2023/12/rclone-v1.65.0-windows-amd64_f23f79a27f93b504a2c9b4938c376e6e.zip

本篇教程用windows版,如果你会Linux也可以用Linux,rclone指令都是一样的。

将下载的windows版压缩包解压到你要安装的目录,然后将这个目录路径添加到系统环境变量中,如下图所示。

然后打开CMD,输入命令 rclone --version 来看看有没有安装成功,出现如下图信息就是成功了。

如果不行也可以使用cd命令进入到这个目录,然后用 ./rclone --version 命令

Rclone常见命令

rclone config - 以控制会话的形式添加rclone的配置,配置保存在.rclone.conf文件中。
rclone copy - 将文件从源复制到目的地址,跳过已复制完成的。
rclone sync - 将源数据同步到目的地址,只更新目的地址的数据。
rclone move - 将源数据移动到目的地址。
rclone delete - 删除指定路径下的文件内容。
rclone purge - 清空指定路径下所有文件数据。
rclone mkdir - 创建一个新目录。
rclone rmdir - 删除空目录。
rclone check - 检查源和目的地址数据是否匹配。
rclone ls - 列出指定路径下所有的文件以及文件大小和路径。
rclone lsd - 列出指定路径下所有的目录/容器/桶。
rclone lsl - 列出指定路径下所有文件以及修改时间、文件大小和路径。
rclone md5sum - 为指定路径下的所有文件产生一个md5sum文件。
rclone sha1sum - 为指定路径下的所有文件产生一个sha1sum文件。
rclone size - 获取指定路径下,文件内容的总大小。.
rclone version - 查看当前版本。
rclone cleanup - 清空remote。
rclone dedupe - 交互式查找重复文件,进行删除/重命名操作。

配置对象存储

查看雨云对象存储的信息,还有要迁移的对象存储的信息。

配置雨云对象存储ROS

在CMD输入命令 rclone config 来进入交互式配置选项,进行添加、删除、管理对象存储等操作。

然后输入n来新建一个存储,按照提示输入雨云对象存储的信息。

首先时输入存储名,这里可以自己设置一个,我输入ROS

选择存储类型,雨云是兼容S3协议的,所以选择5 / Amazon S3,输入序号5

选择服务商,这里选择其他31 / Any other S3 compatible provider,输入序号31

接着是设置认证方式,其中的env_auth选项用于指定从哪里获取AWS凭证(Access Key ID和Secret Access Key),这里选择第一个手动输入,输入序号1

然后设置Access Key IDSecret Access Key,输入雨云控制台显示的Access Key和Secret Key

  • region> :输入序号1
  • endpoint> :输入雨云对象存储控制台显示的API端点地址,将地址后面的存储桶名称去掉,例如https://cn-sy1.rains3.com
  • location_constraint> :留空,直接回车

acl> :输入序号1

  • 是否编辑高级配置,输入n表示否
  • 确认信息有没有错,输入y表示没错
  • 最后输入q退出编辑

验证一下有没有添加成功,信息有没有错,先在雨云对象存储的存储桶上上传个文件,然后在CMD输入命令 rclone ls ROS:zeruns-test2 来列出存储桶的目录和文件,如果有你上传的文件就表示成功了,命令中的ROS替换成你上面设置存储名时输入的,zeruns-test2替换成你自己的存储桶名称。

配置阿里云OSS

在CMD输入命令 rclone config 来进入交互式配置选项。

然后输入n来新建一个存储,按照提示输入阿里云对象存储的信息。

首先时输入存储名,这里可以自己设置一个,我输入OSS

选择存储类型,阿里云是兼容S3协议的,所以选择5 / Amazon S3,输入序号5

选择服务商,这里选择阿里云2 / Alibaba Cloud Object Storage System (OSS) formerly Aliyun,输入序号2

接着是设置认证方式,其中的env_auth选项用于指定从哪里获取AWS凭证(Access Key ID和Secret Access Key),这里选择第一个手动输入,输入序号1

然后设置Access Key IDSecret Access Key,输入从阿里云控制台获取的AccessKey ID和AccessKey Secret。

选择对象存储endpoint,我创建的阿里云OSS区域选的是华北6(乌兰察布),所以选择9 / North China 6 (Ulanqab),输入序号9,你们根据自己实际情况选。也可以手动输入阿里云控制台显示的Endpoint(地域节点)

acl> :输入序号1

  • 选择存储类型,我创建OSS存储桶(Bucket)时选的是标准存储,所以输入序号2,选项1是默认,选项3是归档存储,选项4是低频访问存储.
  • 是否编辑高级配置,输入n表示否
  • 确认信息有没有错,输入y表示没错
  • 最后输入q退出编辑

验证一下有没有添加成功,信息有没有错,先在阿里云对象存储的存储桶上上传个文件,然后在CMD输入命令 rclone ls OSS:zeruns-alioss 来列出存储桶的目录和文件,如果有你上传的文件就表示成功了,命令中的OSS替换成你上面设置存储名时输入的,zeruns-alioss替换成你自己的存储桶名称。

迁移数据

在CMD输入下面的命令将数据从阿里云OSS同步到雨云ROS

rclone sync OSS:zeruns-alioss ROS:zeruns-test2 --progress
# 命令格式:rclone sync 源(配置文件名称): 源数据Bucket  目标源名称:目标bucket (这句是注释,不用输入)

上面命令中的OSS替换成你上面设置阿里云OSS时输入存储名的,zeruns-alioss替换成你自己的阿里云OSS存储桶名称,ROS替换成你上面设置雨云对象存储时输入存储名的,zeruns-test2替换成你自己的雨云ROS存储桶名称。

等待同步完成即可在雨云对象存储控制台看到文件已经同步过来了。

你也可以使用这个工具将本地文件夹同步到对象存储里。

教程到此结束了。

推荐阅读


最后修改:2023 年 12 月 10 日
如果您觉得我的文章有帮助,请随意赞赏,赞赏有助于激发博主的热情,感谢!