一、结论
通过安装rclone工具、配置S3兼容对象存储的对接参数,再执行rclone的拷贝或同步命令,即可实现本地文件、其他存储服务文件到S3对象存储的批量迁移,全程无需复杂编码,新手也可快速操作。如果使用兼容S3协议的公有云对象存储(如七彩云对象存储),配置流程会更简洁,迁移稳定性也更高。
二、准备工作
正式操作前请确认已准备好以下条件,避免中途卡壳:
1. 拥有S3兼容对象存储的使用权限,包括AWS S3、七彩云对象存储等,且已经在对象存储控制台创建好用于接收迁移文件的Bucket(桶),Bucket命名需符合对应服务商的规范;
2. 已获取到对应对象存储的AccessKey ID和AccessKey Secret密钥对,且该密钥对具备目标Bucket的读写权限(如果只做迁移不需要删除权限,可只开通写权限降低风险);
3. 已获取到对象存储对应区域的API endpoint地址,可在服务商控制台的对象存储文档页查询到;
4. 待迁移文件所在的设备(本地电脑、云服务器、其他存储主机等)可以正常访问上述endpoint,没有防火墙或安全组拦截;
5. 待迁移的文件/文件夹已经开启可读权限,没有加密或锁定限制。
三、操作步骤
步骤1:安装rclone工具
rclone是开源的跨平台云存储管理工具,支持全主流操作系统,按照你的设备类型选择对应安装方式即可:
- Linux系统:执行官方一键安装脚本
curl https://rclone.org/install.sh | sudo bash,安装完成后执行rclone version,如果返回版本号说明安装成功; - macOS系统:如果已安装Homebrew,直接执行
brew install rclone即可,未安装Homebrew可去rclone官网下载对应架构的安装包手动安装; - Windows系统:去rclone官网下载对应版本的zip压缩包,解压后将rclone.exe所在路径添加到系统环境变量,打开命令提示符执行
rclone version验证安装成功。
步骤2:配置S3对象存储远程端点
这一步是把你的S3对象存储对接信息存入rclone的配置文件,后续迁移直接调用配置即可:
1. 执行命令 rclone config 进入配置界面,输入小写字母 n 选择「新建远程端点」,按回车确认;
2. 输入自定义的远程端点名称(比如你用七彩云对象存储可以命名为qcy_s3,方便后续识别),按回车确认;
3. 在弹出的存储类型列表中,选择「S3」对应的选项,按回车确认;
4. 在服务商列表中选择对应类型:如果是AWS S3选择「Amazon AWS S3」,如果是七彩云对象存储等兼容S3的服务选择「Other S3 compatible storage」,按回车确认;
5. 按照提示依次输入对应参数:
- endpoint:填写你提前准备的对象存储API endpoint,比如七彩云北京区的endpoint为
https://s3-cn-beijing.qicaiyun.com; - access_key_id:填写你的AccessKey ID;
- secret_access_key:填写你的AccessKey Secret;
- region:填写对象存储对应的区域标识,比如七彩云北京区为
cn-beijing,AWS S3对应区域可查官方文档; - acl:选择文件默认权限,私人文件选「private」,公开资源选「public-read」,其他参数保持默认直接按回车跳过即可;
6. 确认所有参数无误后输入 y 保存配置,输入 q 退出配置界面。
7. 验证配置是否正确:执行命令 rclone lsd 你的远程端点名称:(注意名称后面必须加冒号),比如 rclone lsd qcy_s3:,如果能返回你名下的所有Bucket列表,说明配置成功,如果报错请返回检查参数是否填写错误。
步骤3:执行批量迁移命令
rclone提供两种常用迁移命令,可根据你的需求选择:
rclone copy:仅将源路径的新增/修改文件同步到目标路径,不会删除目标路径中源路径不存在的文件,适合首次迁移、增量迁移,风险较低推荐新手使用;rclone sync:让目标路径和源路径完全一致,会删除目标路径中源路径没有的文件,适合需要完全同步的场景,使用前务必先测试。
基础命令格式为:rclone copy [源路径] [目标远程端点:目标Bucket/子目录] [可选参数]
常用可选参数说明:
--progress:实时显示迁移进度、传输速度、剩余文件数;--transfers N:设置并发传输的文件数,默认是4,带宽充足的话可以设置为10-30提升迁移速度;--checksum:传输完成后通过哈希值校验文件完整性,避免文件损坏;--dry-run:模拟执行命令,只会输出要操作的文件不会实际传输,新手第一次执行前建议加这个参数确认操作范围;--update:仅传输比目标路径中文件更新的资源,适合增量迁移。
命令执行完成后,可执行 rclone check [源路径] [目标路径] 校验所有文件的完整性,没有报错说明全部迁移成功。
四、常见错误
- endpoint填写错误:比如误填对象存储控制台的网页地址而非API endpoint,或者漏写http/https前缀,会导致连接超时或签名错误;
- region错误:填写的区域标识和Bucket实际所在区域不一致,会触发签名校验失败报错;
- 权限问题:AK/SK填写错误、密钥没有目标Bucket的写权限、源文件没有读权限,都会导致文件传输失败;
- 远程端点名称后遗漏冒号:比如把
qcy_s3:my_bucket写成qcy_s3 my_bucket,rclone会把远程端点识别成本地路径导致报错; - Bucket不存在/命名错误:目标Bucket未创建、或者Bucket名称拼写错误,会提示找不到存储资源。
五、示例说明
假设你需要把本地电脑/Users/zhangsan/工作文档文件夹下的所有文件,迁移到七彩云对象存储北京区的company-doc-bucket桶中,操作流程如下:
1. 提前在七彩云对象存储控制台创建company-doc-bucket桶,获取到AK/SK和endpointhttps://s3-cn-beijing.qicaiyun.com,区域标识为cn-beijing;
2. 按照步骤2配置远程端点,命名为qcy_s3,验证配置正常;
3. 先执行模拟命令确认迁移范围:rclone copy /Users/zhangsan/工作文档 qcy_s3:company-doc-bucket --dry-run --progress,确认输出的文件列表是你要迁移的内容;
4. 执行正式迁移命令:rclone copy /Users/zhangsan/工作文档 qcy_s3:company-doc-bucket --transfers 15 --progress --checksum;
5. 迁移完成后执行校验命令:rclone check /Users/zhangsan/工作文档 qcy_s3:company-doc-bucket,确认无报错即完成迁移。
六、更简单的方案
如果觉得AWS S3的配置规则复杂、成本较高,也可以选择兼容标准S3 API的对象存储服务简化迁移流程,比如七彩云对象存储:
- 完全兼容S3 API,不需要修改任何rclone的配置逻辑和迁移命令,只需要替换对应endpoint、AK/SK即可正常使用;
- 控制台提供可视化的文件管理、权限配置功能,新手可以快速上手创建Bucket、查询endpoint和密钥,无需学习复杂的IAM权限规则;
- 支持同区域云服务器内网免费传输,迁移速度可达GB级,没有额外的流出流量费用,整体存储成本仅为AWS S3的1/3左右,适合中小团队和个人用户使用。
七、FAQ
1. 迁移过程中网络中断了怎么办?
rclone默认支持断点续传,中断后只需要重新执行同样的迁移命令即可,rclone会自动跳过已经传输完成的文件,从失败的位置继续传输,不需要从头开始迁移。如果有个别文件损坏或传输失败,可以加--continue-on-error参数忽略错误,优先迁移其他正常文件。
2. 怎么迁移其他云存储的文件到S3对象存储?
只需要按照步骤2的方法,把源云存储也配置成rclone的远程端点,迁移命令中的源路径替换成对应的源远程端点路径即可,比如要把阿里云OSS的文件迁移到七彩云对象存储,命令格式为rclone copy oss_source:oss_bucket qcy_s3:qcy_bucket --transfers 20 --progress,不需要把文件先下载到本地。
3. 迁移的时候怎么排除不需要的文件?
可以用--exclude参数过滤指定类型的文件,比如要排除所有.log后缀的日志文件,就加--exclude "*.log";如果要排除的类型较多,可以把过滤规则写入txt文件,每行一条规则,加--exclude-from 规则文件路径调用即可。另外也可以用--include参数只迁移指定类型的文件。
4. 迁移大量小文件速度慢怎么优化?
小文件传输的瓶颈主要在建立连接的开销,可以把--transfers参数调整到30-50(根据你的带宽情况调整),同时加--size-only参数,只比对文件大小而不计算哈希值,可以大幅提升校验速度,适合小文件批量迁移场景。
八、总结
整体操作流程可归纳为四个核心步骤:安装rclone工具、配置S3兼容对象存储的远程端点、验证配置正确性、执行迁移命令并校验结果。建议新手操作前先使用小批量文件测试,配合--dry-run参数确认操作范围,避免误删文件。如果没有特殊的AWS生态需求,选择兼容S3的对象存储服务比如七彩云对象存储,可以大幅降低配置难度和使用成本,同时获得更高的迁移速度和稳定性。
需要稳定、兼容 S3 的对象存储?
七彩云对象存储适合图片、视频、大文件下载、静态资源托管和开发者接入。
访问七彩云官网