尝试从Amazon S3复制或同步时,无法使用带有s4cmd的文件名通配符

时间:2017-03-12 22:40:09

标签: amazon-web-services amazon-s3 command-line aws-cli s3cmd

我正在尝试使用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/

1 个答案:

答案 0 :(得分:1)

您不能使用aws s3 CLI吗?

aws s3 sync s3://myapp-logs . --exclude "*" --include "*prod/2017-03-12-19*"

应该有效。如果它没有看到use-of-exclude-and-include-filters并修改命令。