从S3存储桶下载模式匹配的条目

时间:2014-08-01 18:46:55

标签: amazon-web-services amazon-s3 command-line-interface s3cmd

我有一个S3存储桶,其中存储了多个具有该格式的日志文件     index.log.yyyy-MM-DD-01     index.log.yyyy-MM-DD-02     。     。     

yyyy for year,mm for month和dd for date。

现在我只想下载其中的一些。我看到了Downloading an entire S3 bucket?。如果我想下载整个存储桶,这篇文章的接受答案是绝对正常的,但如果我想做一些模式匹配,我该怎么办?我尝试了以下命令,但它们没有用:

aws s3 sync s3://mybucket/index.log.2014-08-01-* .
aws s3 sync 's3://mybucket/index.log.2014-08-01-*' .

我还尝试使用{3}}文章的POINT 7和http://fosshelp.blogspot.in/2013/06来下载s3cmd。以下是我运行的命令:

s3cmd -c myconf.txt get --exclude '*.log.*' --include '*.2014-08-01-*' s3://mybucket/ .
s3cmd -c myconf.txt get --exclude '*.log.*' --include '*.2014-08-01-*' s3://mybucket/ .

以及其他一些排列。

有谁能告诉我为什么模式匹配没有发生?或者,如果我需要使用任何其他工具。

谢谢!

1 个答案:

答案 0 :(得分:15)

找到问题的解决方案。虽然我不知道为什么其他命令不起作用。解决方案如下:

aws s3 sync s3://mybucket . --exclude "*" --include "*.2014-08-01-*"

注意: - exclude" *"应该来之前 - 包括" ---",反过来不会打印任何东西,因为它会执行'排除'在'包括'之后(现在我无法找到参考资料)。