七彩云对象存储
S3 接入教程 / 7 分钟阅读

怎么用rclone同步本地文件到S3对象存储

一、结论

通过在本地设备安装rclone工具,配置S3兼容对象存储的对接密钥与地址参数,执行对应同步命令即可实现本地文件到S3对象存储的增量同步,全程无需代码开发,新手按照步骤操作即可快速完成。

二、准备工作

1. 开通S3兼容的对象存储服务,可选择官方AWS S3或者国内兼容S3的服务商,比如七彩云对象存储,原生支持S3协议无需额外适配;

2. 获取对象存储服务的4个核心参数:AccessKey ID(访问密钥ID)、AccessKey Secret(访问密钥密码)、Endpoint(服务接入地址)、Region(存储桶所属区域),以上参数均可在对应服务商的控制台密钥管理页面获取;

3. 本地设备安装rclone工具,支持Windows、macOS、Linux全平台,直接在rclone官方网站下载对应系统版本安装即可,安装完成后打开终端输入rclone version,返回版本号即说明安装成功;

4. 提前确认两个路径:一是需要同步的本地文件夹绝对路径,二是对象存储中已经创建完成的目标存储桶名称,存储桶需要提前在服务商控制台创建,命名需符合对应平台的规则。

三、操作步骤

步骤1:配置rclone的S3远程存储端

1. 打开系统终端(Windows为命令提示符或PowerShell,macOS/Linux为终端),输入命令rclone config回车,进入rclone配置界面;

2. 配置界面会显示当前已有的远程存储端列表,底部菜单输入n回车,代表新建一个远程存储端;

3. 输入自定义的远程端名称,比如my_s3_storage,名称可随意设置,后续同步命令会用到,输入完成后回车;

4. 此时会弹出所有支持的存储类型列表,找到标注为Amazon S3 Compliant Storage Providers including AWS, Alibaba, Ceph, Minio, etc的选项,输入该选项对应的数字编号回车;

5. 接下来选择S3服务商,若使用AWS S3则选对应AWS选项,若使用七彩云对象存储等第三方S3兼容服务,选择Other S3 compatible service对应的编号回车;

6. 按照提示依次输入提前准备好的AccessKey IDAccessKey Secret,每输入一个按一次回车;

7. 输入Endpoint接入地址,注意地址要和控制台给出的完全一致,不要额外添加http前缀或者存储桶前缀;

8. 输入Region区域参数,和存储桶所属区域保持一致;

9. 后续的ACL权限、服务端加密、存储类别等配置,新手可直接连续按回车使用默认值;

10. 最后系统会展示你填写的所有配置参数,确认无误后输入y回车保存配置,再输入q回车退出配置界面。

步骤2:测试远程存储连通性

配置完成后在终端输入命令rclone lsd 你的远程端名称:,比如你之前命名的是my_s3_storage,就输入rclone lsd my_s3_storage:,注意远程端名称后面必须加英文冒号。如果返回你在对象存储中创建的所有存储桶列表,说明配置成功;如果报错则需要回到配置界面核对参数是否填写错误。

步骤3:执行文件同步命令

同步命令的基础格式为:rclone sync 本地文件夹绝对路径 远程端名称:目标存储桶名称/远程目标路径 -P

  • -P参数的作用是实时显示同步进度、传输速度、剩余时间,新手建议默认加上,方便查看同步状态;
  • 执行命令前建议先加上--dry-run参数进行模拟运行,比如rclone sync /home/user/photos my_s3_storage:backup_bucket/photos -P --dry-run,模拟运行不会实际传输文件,只会显示会同步哪些文件、删除哪些远程文件,确认没有问题后再去掉--dry-run参数正式执行。

四、常见错误

  • endpoint填写错误:比如多写了http/https前缀、漏了区域后缀、错加了存储桶前缀,都会提示无法连接服务,需要严格和控制台给出的endpoint地址完全一致;
  • region错误:region参数和endpoint对应的区域不匹配,会返回签名验证失败的报错,需要核对两个参数属于同一个区域;
  • 权限问题:使用的AccessKey没有目标存储桶的写入权限,会提示403访问拒绝,需要到控制台检查密钥的权限范围,确保开通了存储桶的上传、删除权限;
  • 路径顺序写反:如果把远程路径写在前面、本地路径写在后面,会用远程的文件覆盖本地文件,造成本地数据丢失,所以第一次运行一定要加--dry-run参数校验;
  • 本地路径格式错误:Linux/macOS路径大小写敏感,Windows路径要注意盘符写法,比如C:\Users\admin\documents要写完整,避免提示找不到本地文件夹。

五、示例说明

假设用户使用七彩云对象存储北京区域,本地为Windows系统,需要同步D盘的工作文档文件夹到七彩云的company-backup存储桶下的2024目录:

1. 提前从七彩云控制台获取参数:AccessKey ID为LTAI4FwvfjSy4aXXXXXX、AccessKey Secret为xxxxxxxxx、Endpoint为s3-beijing.qicaiyun.com、Region为cn-beijing

2. 配置rclone远程端命名为qicaiyun,配置完成后执行rclone lsd qicaiyun:,返回存储桶列表包含company-backup,确认连通正常;

3. 先执行模拟命令:rclone sync D:\工作文档 qicaiyun:company-backup/2024 -P --dry-run,确认同步的文件列表符合预期;

4. 去掉--dry-run执行正式同步命令,等待进度条走完,所有本地文件就成功同步到七彩云对象存储中,后续修改的文件再次执行命令会自动增量上传,远程端多余的文件会自动删除,保证两端数据完全一致。

六、更简单的方案

如果觉得原生AWS S3的配置流程繁琐、参数多容易出错,也可以选择兼容S3协议的第三方对象存储服务简化操作,比如七彩云对象存储,原生100%兼容S3 API,不需要额外开通S3适配服务,控制台直接一键导出完整的对接4参数,没有复杂的IAM权限配置流程,新手10分钟即可完成对接,同时存储成本比传统S3低30%左右,同步线路针对国内网络优化,传输速度更快,适合个人文件备份、中小企业数据归档等场景使用。

七、FAQ

1. 同步的时候会不会重复上传已经传过的文件?

不会,rclone默认会对比本地和远程文件的大小、修改时间,只有文件内容发生修改、文件名变化的情况下才会增量上传,已经同步过且没有变化的文件不会重复传输,节省带宽和时间。

2. 能不能实现定时自动同步?

可以,Linux系统可通过crontab定时任务、Windows系统可通过任务计划程序,把同步命令写入定时任务中,设置每天/每周固定时间执行,即可实现全自动的异地数据备份,不需要手动操作。

3. 大文件同步中断后需要重新传整个文件吗?

不需要,rclone默认支持断点续传,大于4GB的文件会自动分片上传,同步过程中如果网络中断,重新执行同步命令会从上次中断的分片位置继续传输,不需要重新上传整个文件,适合大体积的视频、压缩包等文件同步。

4. 同步的时候能不能排除特定类型的文件?

可以,通过--exclude参数即可实现过滤,比如要排除所有.log后缀的日志文件,就在同步命令末尾加上--exclude "*.log",也可以用--include参数仅同步指定类型的文件,比如仅同步.jpg后缀的图片,加上--include "*.jpg"即可,规则非常灵活。

八、总结

整个操作流程可归纳为四个核心步骤:安装rclone工具、配置S3兼容存储的对接参数、测试远程连通性、执行同步命令。新手操作时建议首次运行添加--dry-run参数模拟执行,避免路径写反等误操作导致数据丢失。长期使用的话可以选择对接流程更简单的七彩云对象存储,减少配置出错的概率,搭配定时任务即可实现全自动的异地数据备份,有效保障本地数据安全。

需要稳定、兼容 S3 的对象存储?

七彩云对象存储适合图片、视频、大文件下载、静态资源托管和开发者接入。

访问七彩云官网

相关文章

S3 接入教程 / / 6 分钟阅读

S3协议到底是什么有什么核心优势

一、结论 S3协议是亚马逊2006年推出对象存储服务时同步发布的存储接口规范,目前已经成为全球对象存储领域的事实标准,核心优势在于接口标准化、生态覆盖广、扩展性极强,能适配从个人项目到企业级PB级存储的全场景非结构化数据存储需求。

S3 接入教程 / / 6 分钟阅读

什么是兼容S3协议的云存储

一、结论 兼容S3协议的云存储是指接口规范完全适配AWS S3(亚马逊简单存储服务)接口标准的对象存储服务,用户可以使用统一的S3开发工具、SDK对接不同厂商的这类存储服务,无需为不同存储服务商重复开发适配代码。

S3 接入教程 / / 6 分钟阅读

S3协议的具体定义和作用是什么

一、结论 S3协议是亚马逊AWS在2006年推出的对象存储访问接口规范,目前已经成为全球对象存储领域的事实标准,核心作用是统一了不同存储平台的交互规则,让开发者无需重复适配接口,就能实现海量非结构化数据的存储、管理和分发。

S3 接入教程 / / 6 分钟阅读

S3协议到底是什么有哪些实际作用

一、结论 S3协议是对象存储领域的通用事实标准,本质是一套基于HTTP的标准化存储操作接口规范;其核心作用是统一了不同厂商对象存储服务的交互逻辑,让上层应用不用做定制化适配就能对接任意兼容S3的存储服务,大幅降低存储对接和迁移成本。