URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 2469
[ Назад ]

Исходное сообщение
"Не могу заставить работать WGET как нужно."

Отправлено Bootmen , 17-Янв-04 19:23 
Дорогие спецы.
Нарисовал следущий скрипт (черновичок):
:
#
set -x
in=`echo "ftp://meteo:pass@scan/RF108F.RIF
ftp://meteo:pass@scan/RF131E.RIF
ftp://meteo:pass@scan/RF231E.RIF
ftp://meteo:pass@scan/RF431E.RIF`

echo $in | wget -i- -nh -T10 -t1 -w1 -d -owget.errc

[ "$?" != "0" ] && echo "NO!"
#
Запустил его и тут же сэмитировал пропадание связи -короче провод оборвал.
Сделал это с целью проверки как wget себя проявит.
По логике он должен 10 сек подождать (-T10), Потом сделать одну попытку соединения (-t1) через одну секунду (-w1) и закончить работу.
Однако он делает попытки соединения для каждого файла через 3 (три)
минуты. Когда файлов для выкачки много то скрипт зависает надолго.
Никак не могу понят откуда эти 3 минуты берутся?
Кто пользовал WGET - Помогите пожалуста. Время убил еже столько на такую мелочью


Содержание

Сообщения в этом обсуждении
"Не могу заставить работать WGET как нужно."
Отправлено Bootmen , 17-Янв-04 19:49 
> Однако он делает попытки соединения для каждого файла через 3 (три)

Извинясь-неправильно выразился. Wget ждет соединения для каждого файла 3 минуты. В отладке пишет Connect timeout...


"Не могу заставить работать WGET как нужно."
Отправлено XMan , 18-Янв-04 22:33 
3 минуты берутся из функции connect, которой он никак не рулит. Да и, как мне кажется, никто другой тоже. А параметр "-T" предназначен для функции read (точнее, poll/select), которые вызываются уже после установки соединения.

Если тебе нужна остановка после первой же  ошибки, то проще сделать примерно так:

for i in echo RF108F.RIF  RF131E.RIF  RF231E.RIF  RF431E.RIF; do
  wget -nh -T10 -t1 -w1 -d -owget.errc ftp://meteo:pass@scan/$i ;
  if [ "$?" != "0"]; then
    break;
  fi;
done


"Не могу заставить работать WGET как нужно."
Отправлено Bootmen , 19-Янв-04 08:57 
>3 минуты берутся из функции connect, которой он никак не рулит. Да
>>
>for i in echo RF108F.RIF  RF131E.RIF  RF231E.RIF  RF431E.RIF; do
>
>  wget -nh -T10 -t1 -w1 -d -owget.errc ftp://meteo:pass@scan/$i ;
>  if [ "$?" != "0"]; then
>    break;
>  fi;
>done

Спасибо, вообщето у меня в рабочем скрипте через for и сделано
но вот я не догадался вставить break после первого захода.
Спасибо еще раз-мелочь но приятно.


"Не могу заставить работать WGET как нужно."
Отправлено XMan , 19-Янв-04 16:08 
Кстати, можно попробовать еще вот так сделать:

wget -nh -T10 -t1 -w1 -d -owget.errc ftp://meteo:pass@scan/$i || break;

:)


"Не могу заставить работать WGET как нужно."
Отправлено Bootmen , 20-Янв-04 02:25 
>3 минуты берутся из функции connect, которой он никак не рулит. Да
>и, как мне кажется, никто другой тоже.

Я вот только не пойму: получается что функция connect является как бы
монополистом. Все приложения ее использующие должны смирится
с ее настройками. То есть выходит, что к примеру ftp-клиент, smtp  и даже
netscape получают это 3 минутное ожидание соединения?


"Не могу заставить работать WGET как нужно."
Отправлено sas , 20-Янв-04 07:30 
>>3 минуты берутся из функции connect, которой он никак не рулит. Да
>>и, как мне кажется, никто другой тоже.
>
>Я вот только не пойму: получается что функция connect является как бы
>
>монополистом. Все приложения ее использующие должны смирится
>с ее настройками. То есть выходит, что к примеру ftp-клиент, smtp  
>и даже
>netscape получают это 3 минутное ожидание соединения?

man curl

Good luck
--- sas


"Не могу заставить работать WGET как нужно."
Отправлено Bootmen , 21-Янв-04 12:04 
>
>man curl

Нет у меня на сервере такого мана curl
на SCO.
А вобщето про что, эта справка, может другая какая есть.
С уважением



"Не могу заставить работать WGET как нужно."
Отправлено sas , 21-Янв-04 18:29 
>>
>>man curl
>
>Нет у меня на сервере такого мана curl
> на SCO.
>А вобщето про что, эта справка, может другая какая есть.
>С уважением

Curl has "--connect-timeout <seconds>" parameter. It is close to wget, though not the same

curl itself

http://curl.haxx.se/download.html

documentation:

http://curl.haxx.se/docs/manpage.html

Good Luck
--- sas


"Не могу заставить работать WGET как нужно."
Отправлено Bootmen , 22-Янв-04 05:14 
>
>http://curl.haxx.se/download.html

Утилита хорошая,слов нет (лучше wget)
Однако обидно что нет бинарников для SCO Open Server
любые есть кроме скотинки.


"Не могу заставить работать WGET как нужно."
Отправлено sas , 22-Янв-04 06:02 
>>
>>http://curl.haxx.se/download.html
>
>Утилита хорошая,слов нет (лучше wget)
>Однако обидно что нет бинарников для SCO Open Server
>любые есть кроме скотинки.

Просто скомпилируйте

Должно работать

--- sas


"Не могу заставить работать WGET как нужно."
Отправлено sas , 22-Янв-04 06:07 
Или можно взять с sco сайта

<<
Name: curl-ssl          Version: 7.7.1
Release: 1col           Size: 610458
Summary: get a file from a FTP, GOPHER or HTTP server.
Description:
curl is a client to get documents/files from servers, using any of the
supported protocols. The command is designed to work without user
interaction or any kind of interactivity.

curl offers a busload of useful tricks like proxy support, user
authentication, ftp upload, HTTP post, file transfer resume and more.
>>

Взято с
http://www.caldera.com/soss/info/contents.html

Успехов
--- sas