как сделать wget повторной загрузки, если скорость опускается ниже определенного порога?


13

Я пытаюсь загрузить большой файл размером 2 ГБ с помощью wget, но через несколько минут он, похоже, не работает.

Я ^ C это, и wget это снова [с --continueопцией], и он начинает загрузку снова.

Есть ли способ автоматизировать повторную загрузку, когда она останавливается? Благодарность

Ответы:


20

Вы можете использовать --triesопцию.

   --tries=number
       Set number of retries to number.  Specify 0 or inf for infinite
       retrying.  The default is to retry 20 times, with the exception of
       fatal errors like "connection refused" or "not found" (404), which
       are not retried.

Так что --tries=0надо делать свое дело.

Это в сочетании с --read-timeout=secondsтоже. В секунд относится к времени простоя: если в какой -то момент в загрузке, никакие данные не получены в течение более , чем заданное количество секунд, чтение терпит неудачу и загрузка перезапускается.

Итак, последняя команда:

wget -c --tries=0 --read-timeout=20 [URL]


1
Проблема в том, что wget не выходит. Он просто «загружается» со скоростью 0 КБ / с .. :(
Мэтт

8
Ok. Возможно, вы могли бы использовать --read-timeout=secondsвместо этого. «Время» этого тайм-аута относится к времени простоя: если в какой-либо момент загрузки данные не принимаются в течение более указанного количества секунд, чтение завершается неудачно и загрузка возобновляется. Эта опция напрямую не влияет на продолжительность всей загрузки. Конечно, удаленный сервер может прервать соединение раньше, чем требует этот параметр. Время ожидания по умолчанию составляет 900 секунд.
Пабло Зубиета

Да! Вот и все! Должно быть, я прочитал это давным-давно, когда я прочитал руководство по wget [почти все], и я вернулся и не смог его найти.
Мэтт

Разве это не должно включать в себя --continue?
sfyn

@sfyn: Да, я добавил -cк ответу, так что если что-то не получится, вы можете продолжить с того места, где остановились. Благодарю.
Пабло Зубиета

0

Wget пытается продолжить загрузку через 15 минут после сбоя. Если вы оставите его на ночь, это должно сработать.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.