aws s3 cp clobbers文件?

时间:2014-10-23 20:37:17

标签: amazon-web-services amazon-ec2 amazon-s3 aws-cli

嗯,不太清楚该怎么做。
我试图从S3下载50个文件到EC2机器。 我跑了:

for i in `seq -f "%05g" 51 101`; do (aws s3 cp ${S3_DIR}part-${i}.gz . &); done

几分钟后,我检查了pgrep -f aws,发现有50个进程正在运行。此外,所有文件都已创建并开始下载(大文件,因此预计需要一段时间才能下载) 然而,最后,我只获得了一部分文件:

$ ls
part-00051.gz  part-00055.gz  part-00058.gz  part-00068.gz  part-00070.gz  part-00074.gz  part-00078.gz  part-00081.gz  part-00087.gz  part-00091.gz  part-00097.gz  part-00099.gz  part-00101.gz
part-00054.gz  part-00056.gz  part-00066.gz  part-00069.gz  part-00071.gz  part-00075.gz  part-00080.gz  part-00084.gz  part-00089.gz  part-00096.gz  part-00098.gz  part-00100.gz

其余的在哪里?
我没有看到任何错误,但我看到了这些成功完成的文件(这些是上面ls输出中显示的文件):

download: s3://my/path/part-00075.gz to ./part-00075.gz

1 个答案:

答案 0 :(得分:2)

如果要将许多对象复制到S3或从S3复制,可以尝试使用--recursive选项指示aws-cli复制多个对象:

aws s3 cp s3://bucket-name/ . --recursive --exclude "*" --include "part-*.gz"