LINUX.ORG.RU

Помогите с wget


0

0

Проблема состоит в следующем: необходимо раз в час по крону качать файл (40метров), но сервер часто сбрасывает соединение и закачка прерывается на полпути и в итоге у меня остается половинка файла (файл на сервере часто меняется, т.е. докачивать мне его нельзя), как можно гарантированно скачать файл от начала до конца? Если остается половинка ее удаляем и качаем заново. Помогите со скриптом, очень нужно! Заранее огромное, человеческое СПАСИБО!

anonymous

неверно просто нужно запускать wget без опции "-с". Хотя неуверен, давно не использовал.

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

А, тщорт, не прочитал вопрос до конца..

Ну смотря как часто он меняется. Если каждые две-три минуты, то, похоже, никак. А если раз в час, то запускать с "-c", чтобы докачивать файл.

Laz ★★★★★
()

писать скрипт , запускаемый по крону, который бы проверял как заончилась закачка. если не нормально то запускать еще раз.

а вы уверены что она рвется не попричине того что файл обновился?

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

Да, возможно по причине обновления (вобще обновление где-то раз в 5 минут), скажем это некий лог-файл и моя задача выкачать его до конца, а не втянуть в базу скажем 10 процентов файла.

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

Скорее

30 * * * 1-5 /usr/bin/get <URL> -O file || rm file

в crontab юзеру, тогда он будет пускать wget раз в пол часа, а так непрерывно.

marsijanin ★★
()

Вы загадываете загадки :)

Думаю, для гарантии, что Вы не докачиваете другой файл, Вам нужна опция типа -t 1. А ещё для этого используют контрольные суммы (после скачивания).

Гарантировать закачку файла первым же заходом, естественно, нельзя.

Если сервер выдаёт по какому-то наперёд протоколу, скажем, HTTP, то теоретически ещё можно помудрить со сравнением штампа времени файла, но это выходит за рамки Вашего вопроса.

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

Огромное спасибо всем откликнувшимся! С wget что-то не получается, попробовал взять curl, моя неудавшаяся закачка заканчивается с кодом ошибки 18, как сделать если закачка заканчивается с этим кодом, то качаем заново, а если нет то прекращаем качать?

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

я с вгетом ковырялся - поставил вывод в лог и полде ошибки парсил лог на предмет нужных ошибок

AleX ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.