如果要将S3上某个目录的所有内容下载到本地PC,应该使用cp或sync命令中的哪一个?任何帮助都将不胜感激。例如,如果我想将“此文件夹”的所有内容下载到我的桌面上,它看起来会像这样吗?
aws s3 sync s3://"myBucket"/"this folder" C:\\Users\Desktop
h7wcgrx31#
从AWS Command-Line Interface (CLI)使用aws s3 cp将需要--recursive参数来复制多个文件。
aws s3 cp
--recursive
aws s3 cp s3://myBucket/dir localdir --recursive
默认情况下,aws s3 sync命令将复制整个目录。它将只复制新的/修改过的文件。
aws s3 sync
aws s3 sync s3://mybucket/dir localdir
只是实验得到你想要的结果。文件:
a11xaf1n2#
刚刚使用了AWS CLI的第2版。对于s3选项,现在还有一个--dryrun选项来显示将发生什么:aws s3 --dryrun cp s3://bucket/filename /path/to/dest/folder --recursive
aws s3 --dryrun cp s3://bucket/filename /path/to/dest/folder --recursive
sy5wg1nm3#
如果您需要使用另一个配置文件,特别是交叉帐户,您需要在配置文件中添加该配置文件
[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
9udxz4iz4#
如果要下载单个文件,可以尝试以下命令:
aws s3 cp s3://bucket/filename /path/to/dest/folder
m2xkgtsf5#
您有很多方法可以做到这一点,但最好的方法是使用AWS CLI。以下是一个演练:
确保输入有效的访问和秘密密钥,这些密钥是在创建帐户时收到的。1.使用以下命令同步S3存储桶:
aws s3 sync s3://yourbucket/yourfolder /local/path
在上述命令中,替换以下字段:
yourbucket/yourfolder
/local/path
ou6hu8tu6#
sync方法首先列出源路径和目标路径,并仅复制差异(名称、大小等)。cp --recursive方法列出源路径并将所有路径复制(覆盖)到目标路径。如果您在目标路径中有可能的匹配,我会建议sync作为目标路径上的一个LIST请求,这将为您节省许多不必要的PUT请求-这意味着更便宜,可能更快。
sync
cp --recursive
rks48beu7#
问题:aws s3 sync s3://myBucket/this_folder/object_file C:\\Users\Desktop是否也会在C:\Users\Desktop中创建“this_folder”?如果不会,复制/同步包括S3的文件夹结构的解决方案是什么?我的意思是,我有许多文件在不同的S3存储桶文件夹中,按年、月、日排序。我想将它们复制到本地,并保留文件夹结构。
aws s3 sync s3://myBucket/this_folder/object_file C:\\Users\Desktop
7条答案
按热度按时间h7wcgrx31#
从AWS Command-Line Interface (CLI)使用
aws s3 cp
将需要--recursive
参数来复制多个文件。默认情况下,
aws s3 sync
命令将复制整个目录。它将只复制新的/修改过的文件。只是实验得到你想要的结果。
文件:
a11xaf1n2#
刚刚使用了AWS CLI的第2版。对于s3选项,现在还有一个--dryrun选项来显示将发生什么:
aws s3 --dryrun cp s3://bucket/filename /path/to/dest/folder --recursive
sy5wg1nm3#
如果您需要使用另一个配置文件,特别是交叉帐户,您需要在配置文件中添加该配置文件
如果您只访问一个文件
9udxz4iz4#
如果要下载单个文件,可以尝试以下命令:
m2xkgtsf5#
您有很多方法可以做到这一点,但最好的方法是使用AWS CLI。
以下是一个演练:
确保输入有效的访问和秘密密钥,这些密钥是在创建帐户时收到的。
1.使用以下命令同步S3存储桶:
在上述命令中,替换以下字段:
yourbucket/yourfolder
〉〉你的S3桶和你想下载的文件夹。/local/path
〉〉本地系统中要下载所有文件的路径。ou6hu8tu6#
sync
方法首先列出源路径和目标路径,并仅复制差异(名称、大小等)。cp --recursive
方法列出源路径并将所有路径复制(覆盖)到目标路径。如果您在目标路径中有可能的匹配,我会建议
sync
作为目标路径上的一个LIST请求,这将为您节省许多不必要的PUT请求-这意味着更便宜,可能更快。rks48beu7#
问题:
aws s3 sync s3://myBucket/this_folder/object_file C:\\Users\Desktop
是否也会在C:\Users\Desktop中创建“this_folder”?如果不会,复制/同步包括S3的文件夹结构的解决方案是什么?我的意思是,我有许多文件在不同的S3存储桶文件夹中,按年、月、日排序。我想将它们复制到本地,并保留文件夹结构。