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

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


当前回答

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下载整个存储桶到本地文件夹

其他回答

另一个可以帮助一些OS X用户的选项是Transmit。

它是一个FTP程序,还可以让您连接到S3文件。而且,它有一个选项,可以将任何FTP或S3存储作为文件夹挂载在Finder中,但这只是在有限的时间内。

你可以使用s3cmd下载你的桶:

s3cmd --configure
s3cmd sync s3://bucketnamehere/folder /destination/folder

您可以使用另一种名为rclone的工具。这是Rclone文档中的一个代码示例:

rclone sync /home/local/directory remote:bucket

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

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

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

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

您可以使用MinIO客户端执行以下操作:mc cp -r https://s3-us-west-2.amazonaws.com/bucketName/ localdir

MinIO还支持会话、断点续传下载、上传等等。MinIO支持Linux、OS X和Windows操作系统。它是用Golang编写的,在Apache Version 2.0下发布。

使用AWS S3 CLI下载:

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

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

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