2017-12-23 31 views
0

대용량 파일 (10GB)을 다운로드하고 싶습니다. 연결에 따라 30 분이 걸리고 unarchive 또는 get_url에서 자주 실패합니다.대용량 파일을 다운로드하십시오.

오류가 발생하고 진행 상황이 발생하면 어떻게 다시 시작할 수 있습니까?

+0

이 [소스] (https://ilovesymposia.com/2013/04/11/automatically-resume-interrupted-downloads-in-osx-with-curl/)에 따르면 다음 명령을 셸과 함께 사용할 수 있습니다. 수출 ec = 18; while [$ ec -eq 18]; do/usr/bin/curl -O -C - "http://www.example.com/a-big-archive.zip"; 수출 ec = $ ?; done – teclis

+0

그러나 진행 상황을 보여줄 뭔가가 필요합니다. – teclis

답변

2

- 그것은 내가 보관 프로그램을 사용하여 조각으로 파일을 분할하는 것이 좋습니다 작동하지 않을 경우

(7-zip-split-archive 나는 7zip과 사용).
command 모듈을 사용하여 --range 옵션을 사용하여 curl을 실행하면 with_sequence loop에 여러 개의 청크를 수동으로 다운로드 할 수 있습니다. 이는 진도 표시의 일종입니다.
오류의 경우에는 다시 시작하려면

(당신은 또한 컬 통화 루프에서 사용하는 범위를 계산하기 위해 파일 크기를 얻을 수 method: HEAD으로 uri 모듈을 사용할 수 있습니다)에 do-until loop syntax있다.

0

일반적으로 time_out 값을 올리면 get_url에서 트릭을 수행합니다. 1800 초 정도로 다시 시도하십시오. 내가 Ansible에서 작업 내부의 진행을 얻을 수있는 방법이라고 생각하지 않습니다

+0

1. 나는 파일의 크기에 영향을 줄 수 없다. 시간 제한을 올리면 실패 할 경우를 대비하여 다시 시작할 수 없습니다. 진도는 get_url에도 표시되지 않습니다. 그래서이 대답은 내 질문을 충족시키지 못합니다. – teclis