The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
SH-Скрипт для проверки сайтов но доступность, !*! ALUM, 04-Июн-08, 16:45  [смотреть все]
Есть таблица в MySQL
в ней три поля ID, URL, STATUS
URL типа: http://web.errpo.it:7080/erty/navy?KEY=START , т.е сервак сам может и стоит (ping пингуется), а вот по указанному порту сервис не доступен.

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

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

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

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

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

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

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

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

      • SH-Скрипт для проверки сайтов но доступность, !*! ALUM, 10:38 , 05-Июн-08 (3)
        >[оверквотинг удален]
        >>>и апдейтил 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);

        • SH-Скрипт для проверки сайтов но доступность, !*! GD, 11:54 , 05-Июн-08 (4)
          >>[оверквотинг удален]
          >>>>и апдейтил 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);

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

          • SH-Скрипт для проверки сайтов но доступность, !*! ALUM, 12:39 , 05-Июн-08 (5)
            >[оверквотинг удален]
            >>и почему не работает вот это?
            >>
            >>  $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 ошибки выключаются, загрузка тем не менее в файл.

            Код:

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

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

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

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

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

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

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

                    СПАСИБО!

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


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

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

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

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

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

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

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

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

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

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




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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