Rclone入门对象存储云到云迁移
rclone是什么?
一款开源传输工具,类似rsync,常在云产品中做数据传输使用。
假设从腾讯(源端)到火山(目标端)
前期准备
双方的tos,ak,sk,一台linux/windows都行(我这里是Linux-ECS机器演示)
云厂商基本都支持s3协议,这里用s3演示。
腾讯云存储桶:
火山存储桶:
现在将腾讯的rs.txt 通过rclone传递到火山上的test123-temp桶内
ecs安装rclone
curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip
速度慢的话,火山有镜像
wget https://tos-tools.tos-cn-beijing.volces.com/third-party/rclone-current-linux-amd64.zip
unzip rclone-current-linux-amd64.zip
cd rclone-*-linux-amd64
Copy binary file
sudo cp rclone /usr/bin/
sudo chown root:root /usr/bin/rclone
sudo chmod 755 /usr/bin/rclone
输入rclone version
配置2边的ak,sk信息(并且要配置tos的权限)
创建配置文件:
(这个是rclone默认去读的文件夹位置,否则用--config)
mkdir -p ~/.config/rclone/
vim ~/.config/rclone/rclone.conf
[config-tos]
type = s3
provider = Other
access_key_id = xx
secret_access_key = xx
region = cn-beijing
disable_http2 = true
force_path_style = false
endpoint = https://tos-cn-shanghai.volces.com
no_check_bucket = true
list_version = 2
[config-cos]
type = s3
provider = TencentCOS
access_key_id = xx
secret_access_key = xx
region = ap-beijing
force_path_style = false
endpoint = https://cos.ap-guangzhou.myqcloud.com
no_check_bucket = true
list_version = 2
改红色位置
config-tos名称,rclone使用命令的时候标识
type 协议名称,s3协议(大多厂商都支持的通用协议)
endpoint 存储桶的标识结构(每个厂商endpoint不一样,去厂商官网搜s3 endpoint)
火山endpoint-s3地址
https://www.volcengine.com/docs/6349/107356
腾讯直接兼容s3协议,相关endpoint如下
对象存储 使用 AWS S3 SDK 访问 COS_腾讯云
cos(腾讯),tos(火山)
检测是否配置成功
rclone config
执行相关脚本
sync代表的是同步存储桶内的所有内容
copy代表的是仅仅复制一部份文件
这里先测试copy,直接copy文件夹(他会把文件夹下的所有文件copy过去,book目录不会copy)
rclone copy -P config-cos:test-1300361641/a1.txt config-tos:test123-temp
如果失败的话,我们假设把源端腾讯云存储桶权限关闭,再测试一下,可以访问
我刚在腾讯云用户列表禁用了用户。
禁用后,会报错
参考地址:Rclone