AWS CLI s3 sync命令遗漏文件上传问题求助
AWS S3 Sync遗漏大文件的常见原因分析
网络中断与重试机制不足:1GB-100GB的大文件传输耗时久,若中途出现网络波动、TCP连接断开,AWS CLI默认的重试配置可能无法覆盖这类长时传输场景。当传输中断时,S3不会保存不完整的对象,而CLI可能未捕获到深层传输错误,误报“完成”。可检查
~/.aws/config中的max_attempts和retry_mode配置,默认值可能不足以应对大文件传输的稳定性需求。本地文件状态异常:同步期间,若大文件被其他进程修改、锁定(如归档工具写入、杀毒软件扫描),CLI读取文件时可能获取不完整数据,或传输中途因文件状态变更被迫中断,且未触发错误提示。这种情况下S3端无完整对象,再次sync时会被判定为未上传。
分段上传异常:CLI对大于100MB的文件自动启用分段上传,若某几个分片传输失败且重试逻辑未触发,会导致S3端无法组装完整对象。可通过命令
s3api list-multipart-uploads --bucket mybucket检查是否存在未完成的分段任务。CLI版本缺陷:早期AWS CLI v1版本存在超大文件同步的已知bug,比如分片数计算错误、进度跟踪失效,导致传输完成的判断逻辑出错。建议升级至最新的CLI v2版本,或至少是v1的稳定分支版本。
S3桶配置或权限问题:若目标桶配置了Glacier等归档存储类,或IAM权限在传输过程中临时变更,可能导致文件上传后被立即归档/删除,但CLI未收到错误反馈。可检查S3桶的访问日志、存储类配置及IAM权限变更记录。
内容的提问来源于stack exchange,提问作者Kevin Vasko
相关产品推荐
相关产品推荐

