从S3存储桶下载匹配的条目
从S3存储桶下载匹配的条目
我有一个S3存储桶,其中存储有几个以以下格式命名的日志文件:
index.log.yyyy-mm-dd-01
index.log.yyyy-mm-dd-02
...
yyyy代表年,mm代表月,dd代表日期。
现在我只想下载其中几个文件。我看过“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-*' .
我还尝试使用s3cmd进行下载,使用了http://fosshelp.blogspot.in/2013/06的第7条和http://s3tools.org/s3cmd-sync。我运行了以下命令:
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/ .
还有一些此类的变化。
有人能告诉我为什么模式匹配不起作用吗?或者是否需要使用其他工具。
谢谢!!
admin 更改状态以发布 2023年5月23日
我需要从一个S3访问日志存储桶中提取文件,但我发现官方的AWS CLI工具在这方面非常慢。因此,我寻找了其他替代方案。
https://github.com/peak/s5cmd效果非常好!
支持通配符,例如:
s5cmd -numworkers 30 cp 's3://logs-bucket/2022-03-30-19-*' .
速度非常快,因此您可以轻松处理具有S3访问日志的存储桶。