wget 다운로드 속도의 하한

wget 다운로드 속도의 하한

.을(를) 사용하여 일부 파일을 다운로드하려고 하는데 wget한 시간 후에 다운로드 속도가 떨어집니다. 다운로드를 취소하고 다시 시작하면 다운로드 속도가 1시간씩 빨라집니다.

wget속도가 해당 임계값 아래로 떨어지면 다시 시작되거나 다시 시작되도록 다운로드 속도에 대한 하한을 설정할 수 있습니까 wget?

답변1

대신 근본적인 문제를 해결해야 합니다. 따라서 연결 속도가 느려지는 이유를 분석하고 원인을 제거하십시오.

절전 기능인 경우 거의 확실하게 해당 기능을 끄거나 네트워크에 영향을 주지 않는 방식으로 구성할 수 있습니다.

답변2

잠시 후 다운로드 중인 웹사이트나 ISP가 대역폭을 제한할 수 있습니다. 전송 속도를 제한하는 데 도움이 될 수 있습니다 --limit-rate.

wget에게 종료를 지시하는 몇 가지 옵션이 있습니다. --tries( )를 사용하여 -t재시도 횟수를 제어합니다. 재시도 속도를 조금 조정하면 더 나은 --wait결과를 얻을 수 있습니다 --wait-random. 서버가 이를 지원하는 경우 Wget은 중지된 위치에서 자동으로 재개됩니다. 전송 속도가 매우 낮은 숫자로 제한되고 --read-timeout매우 작은 매개변수(예: 0.110분의 1초)를 사용하여 속도가 0.1초마다 1패킷 아래로 떨어지면 연결이 다시 시작됩니다. 네트워크 장애로 인해 이 시간 동안 패킷이 수신되지 않으면 연결도 다시 시작됩니다.

제한되기까지 남은 시간을 미리 알고 있는 경우 wget 프로세스를 종료하고 -c다운로드를 재개하는 옵션과 함께 다시 시작하는 셸 조각을 작성하세요. 경고, 테스트되지 않았습니다. 셸에서 백그라운드 하위 프로세스를 사용하는 것은 약간 이상하므로 심각한 작업에는 Perl 또는 Python을 사용하는 것이 좋습니다.

while wget -q -c http://example.com/wibble & wget_pid=$!
      { sleep 300; kill $wget_pid; } & kill_pid=$!
      wait $wget_pid
      kill $kill_pid
      wait
do sleep 10; done

답변3

read-timeout내 버전의 wget은 아래와 같이 다운로드 시간 초과 없이 재시도를 지원합니다 .

$ wget -c --read-timeout=5 http://thefile.com/getme.txt

36% [+++++++++++++++++++++++++++++++++++++++++++======>                                                                                        ] 280,061,984 --.-K/s   in 6m 16s  

2012-05-09 16:04:23 (105 KB/s) - Read error at byte 280061984/761323675 (Operation timed out). Retrying.

더 낮은 제한을 설정하는 방법은 없는 것 같지만 진행 중인 다운로드에 많은 도움이 됩니다. 다른 사람이 이 질문을 검색하면 좋겠습니다.

관련 정보