协慌网

登录 贡献 社区

正在下载整个 S3 存储桶?

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

有没有一种简单的方法可以将所有东西都拿到我的一个水桶中?我当时正在考虑将根文件夹wget抓取所有内容,然后再次将其设为私有,但是我不知道是否有更简单的方法。

答案

AWS CLI

有关更多信息,请参阅 “ AWS CLI 命令参考”。

AWS 最近发布了他们的命令行工具,其工作原理与 boto 相似,可以使用以下命令进行安装

sudo easy_install awscli

或者

sudo pip install awscli

安装后,您可以简单地运行:

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

例如:

aws s3 sync s3://mybucket .

mybucket中的所有对象下载到当前目录。

并将输出:

download: s3://mybucket/test.txt to test.txt
download: s3://mybucket/test2.txt to test2.txt

这将使用单向同步下载您的所有文件。 --delete ,否则它将不会删除当前目录中的任何现有文件,并且不会更改或删除 S3 上的任何文件。

您也可以将 S3 存储桶与 S3 存储桶同步,或本地同步到 S3 存储桶。

查看文档和其他示例

尽管以上示例是如何下载完整存储桶的,但您也可以通过执行以下操作来递归下载文件夹

aws s3 cp s3://BUCKETNAME/PATH/TO/FOLDER LocalFolderName --recursive

BUCKETNAME存储桶中PATH/TO/FOLDER目录中以递归方式下载所有文件和文件夹密钥。

您可以使用s3cmd下载存储桶:

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

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

rclone sync /home/local/directory remote:bucket

我使用了几种不同的方法将 Amazon S3 数据复制到本地计算机上,包括s3cmd ,到目前为止,最简单的方法是Cyberduck

您所需要做的就是输入您的 Amazon 凭证,并使用简单的界面下载,上传,同步您的任何存储桶,文件夹或文件。

截屏