我注意到似乎没有从AWS管理控制台下载整个s3桶的选项。

有什么简单的方法可以把所有东西都装进我的桶里吗?我正在考虑使根文件夹公共,使用wget抓取它,然后再次使它私有,但我不知道是否有更简单的方法。


当前回答

除了关于aws s3同步的建议外,我还建议查看s5cmd。

根据我的经验,我发现对于多次下载或大规模下载,这比AWS CLI要快得多。

S5cmd支持通配符,这样可以工作:

S5cmd cp s3://桶名/* ./文件夹

其他回答

您有许多选项可以做到这一点,但最好的是使用AWS CLI。

下面是一篇简介:

Download and install AWS CLI in your machine: Install the AWS CLI using the MSI Installer (Windows). Install the AWS CLI using the Bundled Installer for Linux, OS X, or Unix. Configure AWS CLI: Make sure you input valid access and secret keys, which you received when you created the account. Sync the S3 bucket using: aws s3 sync s3://yourbucket /local/path In the above command, replace the following fields: yourbucket >> your S3 bucket that you want to download. /local/path >> path in your local system where you want to download all the files.

使用AWS S3 CLI下载:

aws s3 cp s3://WholeBucket LocalFolder --recursive
aws s3 cp s3://Bucket/Folder LocalFolder --recursive

要使用代码下载,请使用AWS SDK。

要使用GUI下载,请使用Cyberduck。

aws s3 sync s3://<source_bucket> <local_destination>

是一个很好的答案,但它不会工作,如果对象在存储类冰川灵活检索,即使文件已经恢复。在这种情况下,你需要添加标志——force-glacier-transfer。

100%为我工作,我已经下载了所有的文件从aws s3备份。

安装AWS CLI。选择您的操作系统并按照以下步骤操作:安装或更新AWS CLI的最新版本 检查AWS版本:AWS——version

执行config命令:aws configure

Aws s3 cp s3://yourbucketname你的\本地\路径——递归

例如(Windows操作系统):aws s3 cp s3://yourbucketname C:\aws-s3-backup\project-name——recursive

请查看此链接:如何从S3下载整个存储桶到本地文件夹

AWS SDK API是将整个文件夹和存储库上传到AWS S3以及在本地下载整个AWS S3存储桶的最佳选择。

上传整个文件夹到AWS S3: AWS S3 sync。s3: / / BucketName

本地下载整个AWS S3桶:AWS S3 sync S3://BucketName。

您还可以为AWS S3桶中的特定文件夹分配路径,如BucketName/ path。