大文件 RSYNC / CP 从 Google Bucket 到 S3 失败

Posted

技术标签:

【中文标题】大文件 RSYNC / CP 从 Google Bucket 到 S3 失败【英文标题】:Large file RSYNC / CP fails from Google Bucket to S3 【发布时间】:2019-10-04 05:18:22 【问题描述】:

我有一个 Google Ubuntu 实例成功通过身份验证/连接到一个 Google 存储桶和一个 Amazon S3 存储桶。

我可以使用 ubuntu 实例复制/移动/编辑任一存储桶中的小文件/文件夹,并且可以直接上传到 AWS Web 界面

我在 google 存储桶中有大约 4 个文件,我正在尝试从 Google 获取 RSYNC 或 GS​​UTIL CP -> AWS

小文件没有问题,但任何超过几百兆字节的文件都会失败,并出现 ServiceException 400。

这是我尝试过的命令

gsutil -o GSUtil:parallel_composite_upload_threshold=150M cp -r gs://(source bucket)/ s3://(destination bucket)/

gsutil rsync -d -r gs://(source bucket) s3://(destination bucket)

任何人都可以建议他们以前是否遇到过这个问题以及推送 Google Bucket 的最佳方式 -> AWS 无需下载/上传.. 即直接存储桶到存储桶

【问题讨论】:

【参考方案1】:

来自rsync - Synchronize content of two buckets/directories  |  Cloud Storage  |  Google Cloud:

如果您要在云之间同步大量数据,您可以考虑设置一个 Google Compute Engine 帐户并在那里运行gsutil。由于跨提供商gsutil 数据传输流经运行gsutil 的机器,因此与在本地工作站上运行gsutil 相比,这样做可以使您的传输运行得更快。

因此,使用此命令实际上确实下载然后上传数据。

由于您说您只有 4 个文件,因此从 Google Cloud 下载每个文件,然后使用 AWS Command-Line Interface (CLI) 将它们上传到 Amazon S3 可能同样容易。

【讨论】:

以上是关于大文件 RSYNC / CP 从 Google Bucket 到 S3 失败的主要内容,如果未能解决你的问题,请参考以下文章

4-10 Linux 中的文件同步传输 --- rsync

26期20180718 rsync

10.28-10.29 rsync工具介绍及常用选项,rsync通过ssh同步

centos rsync 配置

rsync和cp之间的区别

八周二次课 rsync工具介绍,常用参数选项以及和ssh同步