从AWS S3,CP或同步下载文件夹?


105

如果我要将S3上目录的所有内容下载到本地PC,应该使用cp还是sync命令?

任何帮助将不胜感激。

例如,

如果我想将“此文件夹”的所有内容下载到我的桌​​面,它会是这样吗?

 aws s3 sync s3://"myBucket"/"this folder" C:\\Users\Desktop

Answers:


182

使用aws s3 cpAWS命令行界面(CLI)将要求--recursive参数来复制多个文件。

aws s3 cp s3://myBucket/dir localdir --recursive

aws s3 sync默认情况下,该命令将复制整个目录。它将仅复制新的/修改的文件。

aws s3 sync s3://mybucket/dir localdir

只是尝试以获得所需的结果。

说明文件:


3
花了我几分钟来弄清楚从哪里获得aws cli。那就是:aws.amazon.com/cli
比约恩Stenfeldt

@dnafication请创建一个新问题,而不要在对旧问题的评论中提出问题。
约翰·罗滕斯坦

aws s3 cp s3://myBucket/dir localdir --recursive。这就像一个魅力。如果--recursive标志被跳过,则会引发一个无用的错误:fatal error: An error occurred (404) when calling the HeadObject operation: Key "myBucket" does not exist
Siddhartha

但是,如果单个压缩文件以GB为单位大,那么建议是什么?
Kanagavelu Sugumar

@KanagaveluSugumar请创建一个新问题,而不要通过评论旧问题来提问。
John Rotenstein

3

如果您需要使用其他个人资料,尤其是交叉帐户。您需要在配置文件中添加配置文件

[profile profileName]
region = us-east-1
role_arn = arn:aws:iam::XXX:role/XXXX
source_profile = default

然后,如果您只访问一个文件

aws s3 cp s3://crossAccountBucket/dir localdir --profile profileName


1

如果要下载单个文件,可以尝试以下命令:

aws s3 cp s3://bucket/filename /path/to/dest/folder

0

刚刚使用过的AWS CLI版本2。对于s3选项,现在还有一个--dryrun选项,向您显示将发生的情况:

aws s3 --dryrun cp s3://bucket/filename /path/to/dest/folder --recursive

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.