2014-10-23 3 views
1

음, 이걸 어떻게 만들지 모르겠군요.
S3에서 EC2 컴퓨터로 50 개의 파일을 다운로드하려고합니다.aws s3 cp clobbers files?

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

몇 분 후, 나는 AWS -f pgrep을에 확인하고 실행 (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"