逐步迁移-用rclone将腾讯云cos迁移到cloudflare的r2

因为上次那个问题,所以打算把图库迁移到靠谱一些的cloudflare上,这里用到了rclone这个很强大的工具

在开始迁移前,先做一下准备

  1. 分别在腾讯云和 Cloudflare 平台申请 Access Key 和 Secret Key
  2. 安装 rclone 工具(可从 rclone 官网 下载)

配置远程存储

配置步骤

  1. 打开终端,输入 rclone config 开始远程存储配置
  2. n 创建新的远程存储

配置腾讯云 COS

  1. 输入远程存储名称,例如 cos
  2. 选择存储类型,选择 Amazon S3 兼容模式(选项编号可能因 rclone 版本而异)
  3. 选择服务提供商为腾讯云 COS
  4. 输入您的 access_key_idsecret_access_key(从腾讯云控制台获取)
  5. 选择相应的端点 API(根据您的存储桶所在地区选择北京或上海等)
  6. 配置访问权限:可以选择仅资源所有者拥有完全访问权限,或根据您的安全需求选择其他选项
  7. 选择存储类型(通常选择标准存储)
  8. 确认配置

配置 Cloudflare R2

  1. 再次输入 n 创建新的远程存储
  2. 输入远程存储名称,例如 r2
  3. 同样选择 Amazon S3 兼容模式
  4. 选择服务提供商为 Cloudflare R2
  5. 输入您的 access_key_idsecret_access_key(从 Cloudflare 控制台获取)
  6. 输入 R2 的端点 URL(通常格式为 https://<account_id>.r2.cloudflarestorage.com
  7. 配置访问权限
  8. 选择存储类型
  9. 确认配置

执行迁移操作

完成配置后,使用以下命令执行迁移:

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 提供了稳定可靠的对象存储服务,同时其无出站流量费用的特性也使其成为图库存储的理想选择。