2014-10-23 9 views
1

Ум, не совсем уверен, что делать из этого.
Я пытаюсь загрузить 50 файлов с S3 на EC2. я побежал:aws s3 cp clobbers файлы?

 
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 

ответ

2

При копировании множество объектов в/из S3 , вы можете попробовать опцию --recursive, чтобы дать команду aws-cli скопировать несколько объектов:

aws s3 cp s3://bucket-name/ . --recursive --exclude "*" --include "part-*.gz" 
Смежные вопросы