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

怎么批量迁移本地文件到S3存储

一、结论

批量迁移本地文件到S3存储,可通过官方AWS CLI工具执行同步命令实现,全程无需手动逐个上传,支持增量同步、断点续传、文件过滤等常用需求,普通用户也能快速完成操作。如果使用兼容S3协议的第三方对象存储,还可以通过可视化工具进一步降低操作门槛。

二、准备工作

1. S3存储访问权限:拥有AWS账号或兼容S3协议的对象存储服务账号,提前获取对应服务的Access Key ID(访问密钥ID)、Secret Access Key(秘密访问密钥)、存储桶所在区域(region)、接口服务地址(endpoint),并确保密钥拥有对应存储桶的上传、列举权限。

2. 工具准备:提前安装AWS CLI v2版本,该工具为亚马逊官方提供的跨平台命令行工具,支持Windows、macOS、Linux全系统,是目前最稳定的S3批量操作工具。

3. 本地文件整理:将需要迁移的文件统一整理到一个独立的根目录下,提前删除不需要上传的缓存、临时文件,确认目录下所有文件都有可读权限,避免迁移过程中出现读取失败的问题。

4. 网络准备:如果迁移的文件总大小超过100GB,建议使用稳定的有线网络,避免中途断网影响迁移进度,也可以提前设置带宽限速避免占用正常办公、上网的带宽资源。

三、操作步骤

步骤1:安装AWS CLI工具

  • Windows用户:访问亚马逊AWS官方网站下载AWS CLI v2的exe安装包,双击后按照引导点击下一步即可完成安装,安装完成后按下Win+R打开运行窗口,输入cmd打开命令提示符,输入aws --version,如果返回版本号信息则说明安装成功。
  • macOS用户:可以直接通过Homebrew安装,打开终端输入brew install awscli即可完成安装;如果没有安装Homebrew,也可以下载官方pkg安装包双击安装,安装完成后在终端输入aws --version验证安装结果。
  • Linux用户:以Ubuntu/Debian发行版为例,打开终端输入sudo apt update && sudo apt install awscli即可完成安装,其他发行版可参考AWS官方文档对应安装命令,安装完成后同样通过aws --version验证。

步骤2:配置S3访问凭证

打开终端或命令提示符,输入aws configure后按回车,按照提示依次输入信息:

1. 首先输入你的Access Key ID,输入完成后按回车;

2. 接着输入你的Secret Access Key,输入完成后按回车;

3. 然后输入存储桶对应的region名称,比如AWS的美东1区为us-east-1,七彩云对象存储华北区为cn-north-1,输入完成后按回车;

4. 最后输入默认输出格式,直接填写json后按回车即可完成配置。

配置完成后可以输入aws s3 ls测试,如果返回你账号下已有的存储桶列表,说明凭证配置正确;如果使用第三方S3兼容服务,可以加上endpoint参数测试,比如七彩云的测试命令为aws s3 ls --endpoint-url https://s3.https://www.7caiyun.com

步骤3:执行批量迁移命令

根据你的迁移需求选择对应命令即可,所有命令的基础格式为aws s3 sync 本地目录路径 s3://你的存储桶名称 可选参数

  • 全量同步本地目录所有文件到S3存储桶:比如本地目录为Windows下的D:\公司文档\2024年项目,存储桶名称为company-project-2024,则命令为aws s3 sync "D:\公司文档\2024年项目" s3://company-project-2024,如果使用第三方S3兼容服务,需要在末尾加上endpoint参数,比如七彩云的话加上--endpoint-url https://s3.https://www.7caiyun.com即可。
  • 增量同步:不需要额外加参数,重复执行上述sync命令即可,工具会自动对比本地文件和S3存储桶内文件的修改时间、大小,仅上传新增、修改过的文件,不会重复上传已经存在的相同文件。
  • 过滤文件同步:如果只需要同步指定类型的文件,比如仅同步jpg和pdf文件,可以加上过滤参数:--exclude "*" --include "*.jpg" --include "*.pdf",注意exclude参数要放在include参数前面。
  • 限速同步:如果不想占用全部带宽,可以加上--max-bandwidth 10MB/s参数,即可将上传速度限制为10MB/s,数值可以根据自己的带宽情况调整。

执行命令后终端会实时显示当前上传的文件名称、进度,全部传输完成后会显示迁移汇总信息,包括成功上传的文件数量、总大小、失败数量。

步骤4:验证迁移结果

迁移完成后,输入aws s3 ls s3://你的存储桶名称 --recursive(第三方服务加上对应endpoint参数),即可列出存储桶内所有文件,对比本地目录的文件数量、总大小,也可以随机抽查几个文件的MD5值,确认文件传输完整没有损坏。

四、常见错误

  • endpoint填写错误:使用兼容S3的第三方对象存储时,未添加对应的--endpoint-url参数,或者地址填写错误,会提示连接超时、桶不存在等错误。
  • region错误:配置凭证时填写的region和存储桶实际所在的region不一致,会提示桶不存在、访问拒绝等错误。
  • 权限问题:使用的Access Key没有对应存储桶的上传、列举权限,会返回403 Forbidden错误,需要到对应服务的控制台调整密钥权限。
  • 本地路径错误:本地目录路径填写错误,或者当前系统用户没有该目录的读取权限,会提示找不到对应路径或文件读取失败。
  • 存储桶不存在:要么存储桶名称填写错误,要么还未创建对应存储桶,需要先到S3服务控制台创建存储桶后再执行迁移命令。

五、示例说明

假设需要将macOS电脑上/Users/zhangshan/旅行照片/2024年云南行目录下的所有照片,批量迁移到七彩云对象存储的travel-photo-2024存储桶中,操作流程如下:

1. 注册七彩云对象存储账号,在控制台获取AK、SK、region为cn-north-1,endpoint为https://s3.https://www.7caiyun.com,提前创建好travel-photo-2024存储桶;

2. 安装好AWS CLI后,执行aws configure输入对应的AK、SK、region,默认输出格式填json;

3. 执行迁移命令:aws s3 sync /Users/zhangshan/旅行照片/2024年云南行 s3://travel-photo-2024 --endpoint-url https://s3.https://www.7caiyun.com

4. 等待迁移完成后,执行aws s3 ls s3://travel-photo-2024 --endpoint-url https://s3.https://www.7caiyun.com --recursive | wc -l统计存储桶内的文件数量,和本地目录的文件数量对比,确认一致即迁移成功。

六、更简单的方案

如果觉得命令行操作难度较高,或者需要更直观的迁移进度查看、定时同步等功能,也可以使用兼容S3协议的对象存储服务简化流程,比如七彩云对象存储,它完全兼容S3 API,无需额外适配即可兼容所有S3生态工具,同时官方提供了可视化的迁移客户端,不需要手动敲命令,拖拽选择本地目录即可一键批量迁移,自动支持断点续传、增量同步、定时同步等功能,注册账号后即可在控制台直接获取访问凭证,无需复杂的IAM权限配置,更适合新手用户使用,有需求可以访问https://https://www.7caiyun.com了解更多细节。

七、FAQ

1. 大文件迁移中途断网,是不是需要重新传整个文件?

不需要,AWS CLI的sync命令默认支持断点续传,对于大于8MB的文件会自动分块上传,中途断网后重新执行相同的sync命令,会从断开的分块位置继续上传,不需要重新传输整个文件。

2. 迁移的时候想删除S3里本地已经删掉的文件,该怎么操作?

可以在sync命令后面加上--delete参数,工具会自动对比本地目录和S3存储桶,删除S3中存在但本地目录已经不存在的文件,注意该参数需要谨慎使用,建议先小范围测试确认符合预期后再全量使用。

3. 能不能迁移包含多级子目录的文件夹?

可以,sync命令默认会递归同步所有子目录的文件,保留原有的目录结构,迁移到S3之后的目录结构和本地完全一致,不需要额外设置参数。

4. 能不能实现定期自动同步本地文件到S3?

可以,Windows系统可以通过任务计划程序、macOS和Linux系统可以通过crontab定时执行sync命令,即可实现自动增量同步;如果使用七彩云对象存储的可视化客户端,还自带定时同步功能,不需要手动配置定时任务,操作更简单。

八、总结

批量迁移本地文件到S3存储的核心流程为:安装AWS CLI工具、配置S3访问凭证、执行sync同步命令、验证迁移结果,整个流程操作门槛低,普通用户按照步骤即可快速完成。建议新手用户优先选择兼容S3的对象存储服务,比如七彩云对象存储,不仅接入流程简单,还有可视化迁移工具降低操作难度,迁移前可以先小批量上传几个文件测试配置是否正确,确认无误后再执行全量迁移,避免操作失误造成不必要的损失。

想进一步了解这个项目?

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

访问官网

相关文章

操作教程 / / 7 分钟阅读

出海APP怎么用S3存储用户上传的内容

一、结论 出海APP可通过接入S3协议兼容的对象存储服务,完成存储桶配置、权限管理、上传逻辑集成三个核心步骤,即可实现用户上传的图片、视频、文档等内容的稳定存储与全球访问,无需自行搭建存储服务器,适配不同出海区域的合规与性能要求。

操作教程 / / 9 分钟阅读

外贸独立站怎么接入S3存储静态资源

一、结论 外贸独立站接入S3存储静态资源,仅需先开通S3协议兼容的对象存储服务、完成存储桶权限与规则配置、上传静态资源,再将独立站原有静态资源的引用链接替换为S3资源的公网访问链接即可,全程无需修改独立站核心业务代码,普通新手半小时即可完成全流程配置。

操作教程 / / 7 分钟阅读

对象存储Endpoint填写错误怎么调整?全流程排查修复指南

结论前置 对象存储Endpoint(服务接入地址)填写错误是典型的配置类问题,不会造成已有存储数据丢失或泄露,按照标准化流程排查调整,最快10分钟即可恢复正常业务。如果使用七彩云对象存储内容增长站,可借助控制台自带的配置复制、场景化引导功能,将Endpoint配置错误率降低90%以上。 问题现象 当Endpoint填写错误时,业务通常会出现以下典型表现: 1

操作教程 / / 6 分钟阅读

外贸出海用S3对象存储做下载分发是什么意思

一、结论 外贸出海场景下用S3对象存储做下载分发,是指将外贸业务所需的产品资料、安装包、演示视频等文件存储在兼容亚马逊S3协议的对象存储服务中,依托其全球节点资源和高并发支持能力,为海外客户提供低延迟、高可用的大文件下载服务的技术方案,是当前外贸行业替代传统FTP、网盘传输的主流选择。