2016-09-15 2 views
0

S3 버킷에 업로드 할 데이터가 약 50GB이지만 s3cmd는 신뢰할 수없고 매우 느립니다. 시간 초과 오류로 인해 동기화가 작동하지 않는 것 같습니다.s4cmd 관련 문제

s4cmd으로 바뀌 었습니다. 멀티 스레드 및 고속으로 작동합니다./가정/우분투/경로가 소스 파일은 이미지 파일을 너무 포함 파일로 : [스레드 실패] 소스에서 데이터를 읽을 수 없습니다 -

 s4cmd dsync -r -t 1000 --ignore-empty-source forms/ s3://bucket/J/M/ 

위의 업로드

파일 집합 한 다음 오류가 발생합니다 그곳에는 아무 것도 없습니다.

s4cmd에는 --retry와 같은 옵션이 있습니다. 실패하면 명령을 다시 시작하지만이 방법도 작동하지 않습니다. 이 오류를 방지하기위한 해결책을 발견 한 경우 공유하십시오.

답변

1

정상적으로 작동합니다. 내 파일 업로드가 매우 빠릅니다. 여전히 s3cmd를 사용하고 있다면 s4cmd로 전환하는 것이 좋습니다!

s4cmd를 다운로드하여 설치하십시오. s4cmd.py 찾아 다음과 같이 대체 -

@log_calls 
    def read_file_chunk(self, source, pos, chunk): 
    '''Read local file cunks''' 
    data = None 
    with open(source, 'rb') as f: 
     f.seek(pos) 
     data = f.read(chunk) 
    if not f: 
     raise Failure('Unable to read data from source: %s' % source) 
    return StringIO(data) 

다음

/pathtodir/s4cmd.py dsync -r forms/ s3://bucket/J/M/ 
처럼 업로드 명령에 s4cmd.py 전화