LINUX.ORG.RU

А когда wget научится возобновлять закачки?

 , ,


0

1

Серьезно, пользуюсь этой штукой много лет, но каждый раз, когда обрывается интернет соединение (и тут же автоматически переподключается) - wget виснет и ничего не делает, пока не сделаешь Ctrl+C и не перезапустишь вручную. Или это надо до wget2 обновляться? Там то хоть сделали?

Как подсказали ниже, надо было настроить параметр «read-timeout».



Последнее исправление: bairos (всего исправлений: 1)

while :
do
aria2c file_url
sleep 600
done

только надо что нибудь придумать что бы каждый раз после завершения закачки файла не начиналась закачка дубликата, а то так всё пространство заполнит если сам не выключишь вовремя. Как это сделать я не знаю.

Gennadevich
()
Ответ на: комментарий от Gennadevich

только надо что нибудь придумать что бы каждый раз после завершения закачки файла не начиналась закачка дубликата, а то так всё пространство заполнит если сам не выключишь вовремя. Как это сделать я не знаю.

Возможно:

aria2c file_url && break
emorozov
()
Ответ на: комментарий от urxvt

Вроде, в man написано, что ″--tries=20″ по умолчанию, и read-timeout 900 секунд. Как бы нормально, нужно только опцию ″-c″ или ″--continue″ добавить.

Может ТСу нужны всяки ″--retry-on-host-error″, ″--retry-connrefused″...

mky ★★★★★
()
Ответ на: комментарий от urxvt

Подозреваю, нужно просто задать таймаут + количество попыток

Так я вот всегда с опцией «-t 100» и скачиваю. Помогает, когда сервер начинает жестко тупить, тогда wget выдает что-то типа «Ошибка чтения, позиция X/Y (Выполнено). Продолжение попыток.», потом сервер «просыпается» через несколько минут/секунд и закачка продолжается.

Но когда идет дисконект от провайдера, и соединение переподключается, то очень редко продолжается закачка. Обычно wget просто «замирает» на той позиции, в которой он был во время дисконекта. Приходится вручную перезапускать.

Может кто-то пробовал wget2? Я слышал, его там аж с нуля переделали. Интересно, какая ситуация с возобновлением закачек после таких вот проблем.

bairos
() автор топика
Ответ на: комментарий от mky

Вроде, в man написано, что ″–tries=20″ по умолчанию, и read-timeout 900 секунд.

Т.е. через 15 минут wget по идее сам должен перезапустить закачку? Не уверен, что я когда-либо ждал столько… Кажется, всегда перезапускал раньше, чем через 15 минут. Надо бы понаблюдать.

Как бы нормально, нужно только опцию ″-c″ или ″–continue″ добавить.

Опцию «- c» тоже всегда добавляю. Видимо, надо подольше подождать, или проще - выставить этот read-timeout на 60 секунд. А то 900 это что-то совсем много.

bairos
() автор топика
Ответ на: комментарий от bairos

Опция -c имеет смысл только когда уже есть частично скачанный файл, а сервер поддерживает range-запросы (публичные файлопомойки разрешают их только для подписчиков)

annulen ★★★★★
()

А еще бывает такое, что сервер иногда как-бы «выбивает» закачку, тогда wget выдает ошибку «Не удаётся установить SSL-соединение.», и тут 100% придется перезапускать вручную, потому что wget завершает работу и отдает тебе консоль. Можно как-то сделать, чтобы и в таком случае wget справлялся сам?

bairos
() автор топика
Ответ на: комментарий от urxvt

И правда, видимо настройка read-timeout, которую ниже посоветовали. По умолчанию 15 минут, подождал, посмотрел - закачка все-таки возобновилась.

bairos
() автор топика