我正在尝试使用s4cmd使用通常支持的通配符从AWS S3存储桶复制文件。
例如,我想将所有以2017-03-12
开头的AWS S3日志文件同步到我当地的当前目录:
s4cmd sync s3://myapp-logs/prod/2017-03-12-19* .
导致所有文件被复制,并且通配符显然被忽略:
s3://myapp-logs/prod/2015-10-08-19-24-42-92BBBE9DA93917D1 => ./prod/2015-10-08-19-24-42-92BBBE9DA93917D1
s3://myapp-logs/prod/2015-10-08-19-30-09-BE8D5466FBB5DFD1 => ./prod/2015-10-08-19-30-09-BE8D5466FBB5DFD1
...
无论我的通配符格式如何,我都可以重现此失败。
通配符按预期工作的唯一时间是我使用cp
命令,例如:
s4cmd cp s3://myapp-logs/prod/2017-03-12-19* // Note that cp doesn't support copying to a local directory
或
s4cmd cp s3://mybucket/mystuff/N*.jpg s3://mybuckettest/
答案 0 :(得分:1)
您不能使用aws s3
CLI吗?
aws s3 sync s3://myapp-logs . --exclude "*" --include "*prod/2017-03-12-19*"
应该有效。如果它没有看到use-of-exclude-and-include-filters并修改命令。