我注意到似乎没有s3从 AWS 管理控制台下载整个存储桶的选项。
s3
有没有一种简单的方法可以抓住我的一个桶中的所有东西?我正在考虑将根文件夹公开,wget用来抓取它,然后再次将其设为私有,但我不知道是否有更简单的方法。
wget
有关更多信息,请参阅“ 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到当前目录。
mybucket
并将输出:
download: s3://mybucket/test.txt to test.txt download: s3://mybucket/test2.txt to test2.txt
这将使用单向同步下载您的所有文件。除非您指定 ,否则它 不会 删除当前目录中的任何现有文件,也不会更改或删除 S3 上的任何文件。 --delete
--delete
您还可以执行 S3 存储桶到 S3 存储桶,或本地到 S3 存储桶同步。
查看文档和其他示例。
而上面的例子是如何下载一个完整的桶,你也可以通过执行递归下载一个文件夹
aws s3 cp s3://BUCKETNAME/PATH/TO/FOLDER LocalFolderName --recursive
这将指示 CLI在存储桶内的PATH/TO/FOLDER目录中递归下载所有文件和文件夹密钥。BUCKETNAME
PATH/TO/FOLDER
BUCKETNAME