使用Rclone配置阿里云对象存储,实现对象存储之间的数据迁移

AI摘要

正在生成中……


配置阿里云OSS

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

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

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

img

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

img

选择服务商,这里选择阿里云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。

img

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

acl> :输入序号1

img

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

img

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

img

迁移数据

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

1
2
rclone sync ROS:zeruns-test2 OSS:zeruns-alioss --progress
# 命令格式:rclone sync 源(配置文件名称): 源数据Bucket 目标源名称:目标bucket

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

img

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

Rclone 常用命令对比表

命令名 作用说明 删除目标多余文件 删除源文件 适合场景
copy 复制文件和目录 ❌ 否 ❌ 否 首次迁移、备份
sync 同步目录,目标与源保持一致 ✅ 是 ❌ 否 定期同步、镜像复制
move 复制后删除源 ✅ 是 ✅ 是 迁移数据,释放源空间
copyto 复制一个文件到指定路径 ❌ 否 ❌ 否 拷贝单个文件
moveto 移动一个文件(删除源) ❌ 否 ✅ 是 移动单个文件
check 比较源与目标是否一致(无操作) ❌ 否 ❌ 否 用于验证同步后的数据完整性
ls 列出源路径下的所有文件 ❌ 否 ❌ 否 快速查看目录结构
lsf 列出并格式化输出(如机器处理用) ❌ 否 ❌ 否 自动化脚本中列出文件名/路径等
delete 删除目标路径下的所有文件(危险) ✅ 是 ❌ 否 清空某个 bucket 里的文件
purge 删除目标路径及其所有子目录 ✅ 是 ❌ 否 用于彻底清除目录(不建议轻用)
mkdir 创建远程目录(某些驱动有效) ❌ 否 ❌ 否 初始化 bucket 或结构
rmdir 删除空目录(某些驱动有效) ❌ 否 ❌ 否 清理空 bucket 子路径
mount 将远程存储挂载为本地文件系统 ❌ 否 ❌ 否 临时挂载使用、文件浏览器集成
config 配置 rclone 远程服务 - - 初始化配置各对象存储服务

加上 --progress-P 观察进度:

1
rclone copy a:folder b:folder -P

加速选项

1
2
3
--transfers 8     # 同时传输8个文件
--checkers 16 # 并发校验16个文件
--bwlimit 10M # 限速每秒10MB