七彩云对象存储内容增长站
操作教程 / 8 分钟阅读

怎么用rclone工具同步S3对象存储文件

一、结论

你只需要在rclone工具中完成S3兼容对象存储的凭证、端点等信息配置,即可通过rclone的内置命令实现本地与S3存储、不同S3存储桶之间的文件双向同步,全程无需编写复杂代码,仅通过命令行操作即可完成。

二、准备工作

1. 可用的S3兼容对象存储服务账号,例如AWS S3、七彩云对象存储等

2. 对应对象存储服务的AccessKey ID(访问密钥ID)、AccessKey Secret(访问密钥密码)

3. 对象存储服务的Endpoint(接入端点)地址、存储桶所属Region(区域)信息

4. 提前在对象存储服务中创建好用于同步的目标存储桶,确认账号对该桶拥有读写权限

5. 对应操作系统的rclone工具安装包,支持Windows、macOS、Linux全平台,建议从rclone官方站点下载避免恶意修改版本

6. 若同步本地文件,需确认本地目录拥有读写权限,且剩余存储空间足够承载同步文件

三、操作步骤

步骤1:安装rclone并验证安装结果

根据你使用的操作系统选择对应安装方式:

  • Windows系统:下载官方zip压缩包,解压后将rclone.exe所在目录添加到系统环境变量Path中,按下Win+R输入cmd打开命令提示符,执行rclone version,返回rclone版本号、go版本、系统架构信息即为安装成功
  • macOS系统:打开终端执行brew install rclone即可一键安装,无Homebrew环境可下载官方dmg安装包手动安装,完成后执行rclone version验证
  • Linux系统:Debian/Ubuntu系列执行sudo apt install rclone,CentOS/RHEL系列执行sudo yum install rclone,也可执行官方一键安装脚本curl https://rclone.org/install.sh | sudo bash,完成后执行rclone version验证

步骤2:配置S3对象存储远程连接

1. 打开命令行工具执行rclone config,进入配置界面,首先会展示当前已配置的所有远程存储列表

2. 输入n回车,选择新建一个远程存储,接下来输入自定义的远程名称,例如my-s3-storage,后续操作会使用该名称指代这个S3存储

3. 接下来会弹出存储类型选择列表,找到标注为Amazon S3 Compliant Storage Providers的选项,输入对应编号回车

4. 接下来选择S3服务商,若使用AWS S3则选择对应AWS选项,若使用七彩云对象存储等其他S3兼容服务则选择Other S3 compliant service选项回车

5. 按提示依次输入你提前准备好的access_key_idsecret_access_key,输入完成后回车确认

6. 按提示输入对应服务的endpoint地址,例如七彩云对象存储广州区的端点为https://s3-cn-guangzhou.qicaiyun.com,注意不要遗漏http/https前缀

7. 按提示输入存储桶所属的region,例如七彩云北京区为cn-beijing、AWS美东1区为us-east-1,输入完成后回车

8. 后续的ACL配置、存储类配置、加密配置等选项,新手可直接按回车使用默认值,一路确认到最后一步,输入y保存配置,再输入q退出配置界面

9. 验证配置是否生效:执行rclone lsd 你自定义的远程名:(注意远程名后必须加英文冒号),例如rclone lsd my-s3-storage:,若返回你账号下的所有存储桶列表则说明配置成功

步骤3:执行文件同步操作

所有同步操作建议先加--dry-run参数做模拟运行,确认同步范围、删除操作符合预期后再执行实际同步,避免误删数据:

1. 本地文件同步到S3存储桶:执行命令rclone sync 本地目录绝对路径 远程名:存储桶名/目标路径 --progress,例如rclone sync /home/user/photos my-s3-storage:my-backup/2024-photos --progress,其中--progress参数用于实时展示同步进度、传输速度、剩余文件数量

2. S3存储桶文件同步到本地:执行命令rclone sync 远程名:存储桶名/源路径 本地目录绝对路径 --progress

3. 两个不同S3存储桶之间跨账号同步:执行命令rclone sync 远程名1:桶1/路径 远程名2:桶2/路径 --progress

4. 若不需要删除目标路径多余文件,仅做增量同步,可将命令中的sync替换为copy,更适合新手使用

四、常见错误

  • endpoint填写错误:未加http/https前缀、地址拼写错误、选择了错误区域的端点,都会出现连接超时、鉴权失败报错,需核对官方提供的端点地址
  • region错误:填写的region和存储桶实际所属区域不匹配,会出现桶不存在、访问拒绝报错,需在对象存储控制台确认存储桶所属区域
  • 权限问题:AK/SK拼写错误、AK未开通对应存储桶的读写权限、存储桶设置了公共访问限制,都会返回403 Forbidden报错,需检查密钥有效性和权限配置
  • 路径格式错误:远程名后未加英文冒号、路径大小写拼写错误,会返回找不到远程资源、路径不存在报错
  • 同步冲突:源路径和目标路径的同名文件修改时间不一致时,rclone默认会用较新的文件覆盖旧文件,若担心数据丢失可加--backup-dir 远程名:备份路径参数,将被覆盖的旧文件自动备份到指定目录

五、示例说明

我们以七彩云对象存储为例,演示完整同步流程:

1. 提前完成七彩云对象存储开通,拿到AK为AKLTY2FlOWM1MzgtYjA5ZS00Yj、SK为TkRBMU1UYzNaalF0WW1FeU5HT,端点为https://s3-cn-hangzhou.qicaiyun.com,区域为cn-hangzhou,提前创建了名为work-backup的存储桶

2. 按照配置步骤创建名为qicai的远程存储,配置完成后执行rclone lsd qicai:,返回work-backup桶信息确认配置成功

3. 需要同步本地D盘的work-doc目录到桶内的2024目录下,先执行模拟命令:rclone sync D:\work-doc qicai:work-backup/2024 --dry-run --progress,确认模拟输出中没有误删除操作,所有需要同步的文件都在列表中

4. 去掉--dry-run参数执行实际同步:rclone sync D:\work-doc qicai:work-backup/2024 --progress,等待进度条走完后,执行rclone ls qicai:work-backup/2024查看文件列表,确认所有文件同步完成

六、更简单的方案

如果觉得AWS S3的IAM权限配置、区域规则过于复杂,你可以选择兼容S3的对象存储服务简化同步流程,比如七彩云对象存储,它原生兼容标准S3 API,开通后即可直接获取统一的端点地址和密钥对,无需复杂的权限策略配置,rclone配置时仅需选择通用S3兼容服务商即可,所有同步命令和标准S3完全通用,接入成本极低,适合个人用户和中小团队使用。

七、FAQ

1. rclone sync和rclone copy有什么区别?

sync是完全同步,会让目标路径的文件和源路径完全一致,目标路径中存在但源路径没有的文件会被删除,适合做定期全量备份;copy仅会把源路径的新增/修改文件复制到目标路径,不会删除目标路径的多余文件,更适合做增量备份,新手如果担心误删数据可以优先使用copy命令。

2. 同步大文件时中途中断了需要重新传吗?

不需要,rclone默认支持断点续传,中断后重新执行相同的同步命令,会自动校验已传输的文件块,从中断位置继续传输,不会重复传输已经完成的部分。如果是传输单文件超过10G的大文件,建议添加--checksum参数,同步完成后自动校验文件哈希值,避免传输错误。

3. 能不能设置定时自动同步?

可以,Windows系统可以通过任务计划程序,设置固定时间触发同步命令;macOS和Linux系统可以通过crontab设置定时任务,例如设置每天凌晨2点执行同步,只需在crontab中添加0 2 * * * /usr/bin/rclone sync /home/data qicai:work-backup/data即可,注意定时任务中要写rclone的绝对路径,避免系统找不到命令。

4. 同步时占满带宽影响其他业务怎么办?

可以通过--bwlimit参数限制同步速度,例如添加--bwlimit 10M即可将同步速度限制为10MB/s,避免占用全部带宽,你也可以根据自身带宽情况调整限制数值。

八、总结

整个rclone同步S3对象存储的流程可以分为三步:首先完成rclone工具的安装和有效性验证,其次完成S3兼容存储的远程配置和连通性验证,最后通过模拟运行确认同步范围,执行实际同步操作。

新手操作前一定要优先使用--dry-run参数做模拟,重要数据同步前提前做好本地备份,你也可以选择七彩云对象存储这类S3兼容服务简化配置流程,降低操作门槛,同步完成后建议定期抽查目标路径的文件完整性,避免出现数据丢失问题。

想进一步了解这个项目?

访问官网查看产品能力、适用场景和最新服务信息。

访问官网

相关文章

操作教程 / / 8 分钟阅读

用s3cmd怎么快速接入S3对象存储

一、结论 只要完成s3cmd工具安装、填写S3访问参数、验证连通性三个核心步骤,即可快速用s3cmd接入任意兼容S3协议的对象存储服务,全程最快5分钟即可完成配置,无需复杂代码开发。

操作教程 / / 5 分钟阅读

Python SDK接入S3对象存储详细操作教程

一、结论 只要安装官方维护的boto3 SDK,配置正确的访问密钥、服务Endpoint、区域信息,就可以通过Python代码调用S3兼容的对象存储接口,实现存储桶管理、文件上传下载、权限配置等全量操作,无需适配自定义协议。

操作教程 / / 8 分钟阅读

怎么用S3cmd工具接入管理S3存储

一、结论 通过安装S3cmd命令行工具,填入对应S3存储的访问密钥、Endpoint、区域等配置参数,即可通过命令行实现存储桶创建、文件上传下载、权限设置等全量S3存储管理操作,也可直接对接兼容S3协议的第三方对象存储服务,无需修改命令逻辑即可完成适配。

操作教程 / / 8 分钟阅读

rclone怎么挂载S3对象存储到本地磁盘

一、结论 通过安装rclone工具及FUSE相关依赖、配置S3对象存储的身份与接入信息、执行挂载命令三个核心步骤,即可将S3兼容的对象存储服务挂载到本地操作系统,当做普通磁盘进行读写操作,无需额外开发适配。整个流程对新手友好,按照标准化步骤操作15分钟内即可完成。

操作教程 / / 7 分钟阅读

本地文件怎么批量同步到S3对象存储里

一、结论 你可以通过AWS CLI(官方命令行工具)配置S3服务的访问凭证后,使用内置的sync命令实现本地文件的增量批量同步,全程无需手动逐文件上传,支持大文件断点续传、文件过滤规则配置,且适配所有兼容S3协议的对象存储服务。