You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否通过命令行直接将Backblaze B2数据迁移至Amazon S3(无需本地下载)

从Backblaze B2到Amazon S3的无本地下载命令行迁移方案

以下两种命令行方案都能实现直接云间迁移,无需本地下载180TB数据:

方法一:使用rclone(推荐,灵活性更高)

rclone是专门用于云存储间同步的命令行工具,支持直接在B2和S3之间传输数据,无需本地缓存。

步骤:

  1. 安装rclone
    根据你的操作系统安装rclone(比如Linux用包管理器,Windows下载二进制包,macOS用Homebrew)。

  2. 配置B2和S3远程存储
    运行rclone config命令,按提示依次添加两个远程:

    • 添加B2:选择b2类型,输入你的B2账号ID和应用密钥;
    • 添加S3:选择s3类型,输入AWS的Access Key ID和Secret Access Key,指定目标S3区域。
  3. 启动同步
    执行同步命令(替换占位符为你的桶名):

    rclone sync b2:your-b2-bucket-name s3:your-s3-bucket-name --transfers 32 --checkers 64 --progress --metadata
    
    • --transfers:设置同时传输的文件数量,可根据带宽调整;
    • --checkers:设置同时检查文件状态的数量;
    • --progress:显示实时传输进度;
    • --metadata:保留文件元数据(如修改时间)。
  4. 增量同步(可选)
    后续如果需要同步新增/修改的文件,再次运行上述rclone sync命令即可,它只会处理变化的内容。

  5. 验证完整性
    用以下命令校验两边文件是否一致:

    rclone check b2:your-b2-bucket-name s3:your-s3-bucket-name
    

方法二:使用AWS CLI结合B2的S3兼容接口

Backblaze B2提供S3兼容API,可直接通过AWS CLI将B2当作一个S3端点,实现跨桶同步。

步骤:

  1. 配置AWS CLI profiles
    编辑AWS CLI配置文件(Linux/macOS为~/.aws/config,Windows为C:\Users\<你的用户名>\.aws\config),添加B2的配置:

    [profile b2]
    endpoint_url = https://s3.<你的B2区域>.backblazeb2.com  # 替换为你的B2区域端点
    aws_access_key_id = <你的B2账号ID>
    aws_secret_access_key = <你的B2应用密钥>
    

    确保已配置好S3的默认profile或单独的S3 profile。

  2. 执行跨桶同步
    运行以下命令(替换占位符):

    aws s3 sync s3://your-b2-bucket-name s3://your-s3-bucket-name --source-profile b2 --profile <你的S3 profile名> --region <S3区域> --progress
    
    • --source-profile:指定B2的配置profile;
    • --profile:指定目标S3的配置profile;
    • --progress:显示传输进度。

注意事项:

  • 选择距离较近的B2和S3区域,可降低传输延迟和成本;
  • 调整并发参数(如rclone的--transfers、AWS CLI的--max-concurrent-requests),避免触发服务商的速率限制;
  • 可通过nohup或screen后台运行命令,防止终端关闭中断迁移。

内容的提问来源于stack exchange,提问作者pythonbeginner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 07:35:18