The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"SH-Скрипт для проверки сайтов но доступность"
Вариант для распечатки  
Пред. тема | След. тема 
Форум WEB технологии (Разное)
Изначальное сообщение [ Отслеживать ]

"SH-Скрипт для проверки сайтов но доступность"  +/
Сообщение от ALUM on 04-Июн-08, 16:45 
Есть таблица в MySQL
в ней три поля ID, URL, STATUS
URL типа: http://web.errpo.it:7080/erty/navy?KEY=START , т.е сервак сам может и стоит (ping пингуется), а вот по указанному порту сервис не доступен.

Надо слобать скрипт для crona, который бы брал URL, проверял на доступность и апдейтил STATUS.

Теряюсь в непонятках. Но знаю, как работать с MySQL + Perl.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "SH-Скрипт для проверки сайтов но доступность"  +/
Сообщение от madskull (??) on 04-Июн-08, 17:43 
>Надо слобать скрипт для crona, который бы брал URL, проверял на доступность
>и апдейтил STATUS.

с помощью команды mysql достаем/апдейтим нужные данные.
с помощью, например, wget пытаемся скачать страницу

>Теряюсь в непонятках. Но знаю, как работать с MySQL + Perl.

Так от нас то что требуется?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "SH-Скрипт для проверки сайтов но доступность"  +/
Сообщение от ALUM on 05-Июн-08, 10:05 
>>Надо слобать скрипт для crona, который бы брал URL, проверял на доступность
>>и апдейтил STATUS.
>
>с помощью команды mysql достаем/апдейтим нужные данные.
>с помощью, например, wget пытаемся скачать страницу
>
>>Теряюсь в непонятках. Но знаю, как работать с MySQL + Perl.
>
>Так от нас то что требуется?

Как вызвать wget из Perl ?

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "SH-Скрипт для проверки сайтов но доступность"  +/
Сообщение от ALUM on 05-Июн-08, 10:38 
>[оверквотинг удален]
>>>и апдейтил STATUS.
>>
>>с помощью команды mysql достаем/апдейтим нужные данные.
>>с помощью, например, wget пытаемся скачать страницу
>>
>>>Теряюсь в непонятках. Но знаю, как работать с MySQL + Perl.
>>
>>Так от нас то что требуется?
>
>Как вызвать wget из Perl ?

и почему не работает вот это?

  $Tmpnam="/var/tmp/wget_epr_file";
  open(FN,">$Tmpnam");
  binmode (FN);
  read FN $Wget_epr; #если написать print - работает на вывод.
  close(FN);

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "SH-Скрипт для проверки сайтов но доступность"  +/
Сообщение от GD on 05-Июн-08, 11:54 
>>[оверквотинг удален]
>>>>и апдейтил STATUS.
>>>
>>>с помощью команды mysql достаем/апдейтим нужные данные.
>>>с помощью, например, wget пытаемся скачать страницу
>>>
>>>>Теряюсь в непонятках. Но знаю, как работать с MySQL + Perl.
>>Как вызвать wget из Perl ?

:)

>
>и почему не работает вот это?
>
>  $Tmpnam="/var/tmp/wget_epr_file";
>  open(FN,">$Tmpnam");
>  binmode (FN);
>  read FN $Wget_epr; #если написать print - работает на вывод.
>
>  close(FN);

а что ты хочешь считать из пустого файла?

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "SH-Скрипт для проверки сайтов но доступность"  +/
Сообщение от ALUM on 05-Июн-08, 12:39 
>[оверквотинг удален]
>>и почему не работает вот это?
>>
>>  $Tmpnam="/var/tmp/wget_epr_file";
>>  open(FN,">$Tmpnam");
>>  binmode (FN);
>>  read FN $Wget_epr; #если написать print - работает на вывод.
>>
>>  close(FN);
>
>а что ты хочешь считать из пустого файла?

он будет не пустой
туда до этого WGET сгрузит страничку:

$Epr_file_name = "/var/tmp/wget_epr_file";

$Wget_epr = "";
system("/usr/local/bin/wget --quiet --tries=1 --connect-timeout=3 --output-file=$Epr_file_name \"$Url\"");
            
open FN, "$Epr_file_name" || die "Файл не найден!";
foreach( <FN> )
{ $Wget_epr .= $_; }
close FN;
  
if ($Wget_epr ne "")
{...}
else
{...}

только проблема
WGET вызываемый из PERL сообщения об ошибках ("нет коннекта например") выводит всё в тот файл и не получается определить, жив сайт или нет. если WGET вызывать с опцией --quiet он вообще ничего в файл не выводит, ни ошибок, ни страницу сайта даже если он жив.
При вызовы из просто командной строки - всё работает замечательно как надо. ошибки - на экран, загрузка - в файл. если включаю --QUIET ошибки выключаются, загрузка тем не менее в файл.

Код:

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "SH-Скрипт для проверки сайтов но доступность"  +/
Сообщение от ALUM on 05-Июн-08, 13:12 
кароче жопа
оказалось этот вредный WGET не желает воспринимать некоторые длинные ключи (причём только из ПЕРЛа!)
пришлось переписать на короткие

system("/usr/local/bin/wget -q --tries=1 --connect-timeout=3 -O $Eper_file_name \"$Url\"");

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "SH-Скрипт для проверки сайтов но доступность"  +/
Сообщение от angra (ok) on 06-Июн-08, 07:57 
Да, злой ПЕРЛ во всем виноват, даже в том что вы не знаете про LWP(а также LWP::Parallel) и используете wget, причем вызываете его отдельно для каждого сайта. А еще ПЕРЛ будет виноват в том, что в результате скорость проверки будет просто черепашьей особенно при значительном увеличении количества проверяемых сайтов. На неумение проверять файл на пустоту без его открытия и считывать из файла всего содержимого за раз можно даже не обращать внимание, так мелочи, всего лишь нежелание читать документацию.
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "SH-Скрипт для проверки сайтов но доступность"  +/
Сообщение от Pahanivo email(ok) on 06-Июн-08, 09:52 
>Да, злой ПЕРЛ во всем виноват, даже в том что вы не
>знаете про LWP(а также LWP::Parallel) и используете wget, причем вызываете его
>отдельно для каждого сайта. А еще ПЕРЛ будет виноват в том,
>что в результате скорость проверки будет просто черепашьей особенно при значительном
>увеличении количества проверяемых сайтов. На неумение проверять файл на пустоту без
>его открытия и считывать из файла всего содержимого за раз можно
>даже не обращать внимание, так мелочи, всего лишь нежелание читать документацию.
>

гыгыгы )) поддерживаю.
для начала сходить на perl.com ...

Разместить на каждом сайте маленький текстовый файл - посчитать его md5.
По списку при помощи LWP дергать его с сайта и сверять сумму.
С мускулом все элементарно и стандартно. Тупой апдейт базы. ВСЕ!

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "SH-Скрипт для проверки сайтов но доступность"  +/
Сообщение от ALUM on 06-Июн-08, 11:19 
>[оверквотинг удален]
>>даже не обращать внимание, так мелочи, всего лишь нежелание читать документацию.
>>
>
>гыгыгы )) поддерживаю.
>для начала сходить на perl.com ...
>
>Разместить на каждом сайте маленький текстовый файл - посчитать его md5.
>По списку при помощи LWP дергать его с сайта и сверять сумму.
>
>С мускулом все элементарно и стандартно. Тупой апдейт базы. ВСЕ!

УМНИКИ!
САЙТЫ НЕ МОИ!
НИЧЕГО Я ТУДА ПОЛОЖИТЬ НЕ МОГУ!

СПАСИБО!

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

12. "SH-Скрипт для проверки сайтов но доступность"  +/
Сообщение от angra (ok) on 07-Июн-08, 06:05 
Это как то отменяет ваше неумение работать с perl и как следствие ругань на него? Вызов внешних программ в перловом скрипте лучше минимизировать, иначе зачем перл вообще нужен, проще/понятней на шелле сделать. Кстати даже на шелл можно было бы обойтись одним вызовом wget, хотя если проверять аж два сайта, то таки да не нужно, как и БД.


Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

14. "SH-Скрипт для проверки сайтов но доступность"  +/
Сообщение от ALUM on 09-Июн-08, 16:54 
>Это как то отменяет ваше неумение работать с perl и как следствие
>ругань на него? Вызов внешних программ в перловом скрипте лучше минимизировать,
>иначе зачем перл вообще нужен, проще/понятней на шелле сделать. Кстати даже
>на шелл можно было бы обойтись одним вызовом wget, хотя если
>проверять аж два сайта, то таки да не нужно, как и
>БД.

дело в том что мне не только проверять а выцеплять определённую строку (версию софта). список примерно 15 сайтов, с каждым по очереди.

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

15. "SH-Скрипт для проверки сайтов но доступность"  +/
Сообщение от angra (ok) on 09-Июн-08, 18:09 
Ну так посмотрите наконец на LWP. Намного быстрее, да и проще будет скачать при помощи него в скаляр и тут же его распарсить вместо того, чтобы вызывать внешний wget, а потом читать файл. В LWP нет ничего сложного, гляньте хотя бы синопсис по этой ссылке:
http://search.cpan.org/~gaas/libwww-perl-5.812/lib/LWP/UserA...
Для 15 сайтов можно оставить и в таком виде, если количество станет расти, то используется LWP::Parallel, то есть несколько десятков запросов посылаются одновременно, что значительно ускоряет работу.

Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

13. "SH-Скрипт для проверки сайтов но доступность"  +/
Сообщение от Pahanivo email(ok) on 07-Июн-08, 14:38 
МОТОРОЛЛЕР НЕ МОЙ! Я ПРОСТО РАЗМЕСТИЛ ОБЪЯВУ!

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

10. "SH-Скрипт для проверки сайтов но доступность"  +/
Сообщение от ШУхарт on 06-Июн-08, 13:03 
>[оверквотинг удален]
>>>и апдейтил STATUS.
>>
>>с помощью команды mysql достаем/апдейтим нужные данные.
>>с помощью, например, wget пытаемся скачать страницу
>>
>>>Теряюсь в непонятках. Но знаю, как работать с MySQL + Perl.
>>
>>Так от нас то что требуется?
>
>Как вызвать wget из Perl ?

А зачем тебе Perl? По-моему, удобней просто shell-скрипт.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

11. "SH-Скрипт для проверки сайтов но доступность"  +/
Сообщение от ALUM on 06-Июн-08, 14:35 
>[оверквотинг удален]
>>>с помощью команды mysql достаем/апдейтим нужные данные.
>>>с помощью, например, wget пытаемся скачать страницу
>>>
>>>>Теряюсь в непонятках. Но знаю, как работать с MySQL + Perl.
>>>
>>>Так от нас то что требуется?
>>
>>Как вызвать wget из Perl ?
>
>А зачем тебе Perl? По-моему, удобней просто shell-скрипт.

поздняк метаццо. всё уже готово.

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

16. "SH-Скрипт для проверки сайтов но доступность"  +/
Сообщение от TrEK email(ok) on 03-Апр-13, 11:21 
>[оверквотинг удален]
>>>>с помощью, например, wget пытаемся скачать страницу
>>>>
>>>>>Теряюсь в непонятках. Но знаю, как работать с MySQL + Perl.
>>>>
>>>>Так от нас то что требуется?
>>>
>>>Как вызвать wget из Perl ?
>>
>>А зачем тебе Perl? По-моему, удобней просто shell-скрипт.
> поздняк метаццо. всё уже готово.

Ну так напиши здесь, или ты по методу "Я сам все решил, и фиг расскажу!"

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2021 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру