逐步迁移-用rclone将腾讯云cos迁移到cloudflare的r2
因为上次那个问题,所以打算把图库迁移到靠谱一些的cloudflare上,这里用到了rclone这个很强大的工具
在开始迁移前,先做一下准备
- 分别在腾讯云和 Cloudflare 平台申请 Access Key 和 Secret Key
- 安装 rclone 工具(可从 rclone 官网 下载)
配置远程存储
配置步骤
- 打开终端,输入
rclone config
开始远程存储配置 - 按
n
创建新的远程存储
配置腾讯云 COS
- 输入远程存储名称,例如
cos
- 选择存储类型,选择
Amazon S3
兼容模式(选项编号可能因 rclone 版本而异) - 选择服务提供商为腾讯云 COS
- 输入您的
access_key_id
和secret_access_key
(从腾讯云控制台获取) - 选择相应的端点 API(根据您的存储桶所在地区选择北京或上海等)
- 配置访问权限:可以选择仅资源所有者拥有完全访问权限,或根据您的安全需求选择其他选项
- 选择存储类型(通常选择标准存储)
- 确认配置
配置 Cloudflare R2
- 再次输入
n
创建新的远程存储 - 输入远程存储名称,例如
r2
- 同样选择
Amazon S3
兼容模式 - 选择服务提供商为 Cloudflare R2
- 输入您的
access_key_id
和secret_access_key
(从 Cloudflare 控制台获取) - 输入 R2 的端点 URL(通常格式为
https://<account_id>.r2.cloudflarestorage.com
) - 配置访问权限
- 选择存储类型
- 确认配置
执行迁移操作
完成配置后,使用以下命令执行迁移:1
rclone copy cos:mystore-xxxxxxx/img/ r2:img/ --progress
上述命令将把腾讯云 COS 中 mystore-xxxxxxx
存储桶下的 img
目录中的所有文件复制到 Cloudflare R2 的 img
存储桶中。添加的 --progress
参数可以显示迁移进度。
高级选项
为了获得更好的迁移体验,您可以考虑以下高级选项:
- 使用
--transfers=N
参数设置并行传输数量,加快迁移速度 - 使用
--checkers=N
参数设置并行检查数量 - 使用
--dry-run
参数测试迁移过程而不实际复制文件 - 使用
--log-file=FILE
参数将迁移日志保存到文件中
例如:1
rclone copy cos:mystore-xxxxxxx/img/ r2:img/ --progress --transfers=4 --checkers=8 --stats=10s
验证迁移结果
迁移完成后,可以使用以下命令验证两边的文件是否一致:1
rclone check cos:mystore-xxxxxxx/img/ r2:img/ --one-way
结语
通过 rclone 这一强大工具,可以轻松实现云存储服务之间的数据迁移。Cloudflare R2 提供了稳定可靠的对象存储服务,同时其无出站流量费用的特性也使其成为图库存储的理想选择。