andrew-o Posted March 20, 2003 Posted March 20, 2003 Народ! Есть проблемка.. Инет получаем по радио.. когда у прова проблемы, инета, естественно, нет.. но, когда они свои проблемы решают, то сервер в большинстве случаев приходится перегружать, чтоб все завелось.. так вот.., где б достать/написать софтину/скрипт, которая бы пинговала указанный IP и при отсутствии ответа ребутила сервак.. только фишка в том, чтоб ребутила 1 раз, т.е. если у прова канал не поднялся, то чтоб сервак постоянно из-за отсутствия пинга не перегружался... и чтоб повторяло попытки через определенное время.. Может кто сталкивался с такой проблемой.. Вставить ник Quote
Sirco Posted March 20, 2003 Posted March 20, 2003 а сервер то на чем - операционка ?? Вообщето вот тебе на линуксе Добавляеш в ----------------etc/crontab----------------- * * * * * root /bin/pingwlan ---------------------------------------------- --------------------А вот сам скриптик pingwlan ------------------------ #!/bin/bash ( e=$( cat /var/log/wlanstatus ) # Перев?рка з?днань та роботи wlan pin=$(ping -c 1 -w 2 -U 172.17.51.123 | grep -c 100%) # перев?ря?м чи ? надпис 100% if [ "$pin" -gt 0 ] then echo -ne BAD $e >> /var/log/wlanlog date >> /var/log/wlanlog let e=$e+1 # Раху?мо помилки echo $e > /var/log/wlanstatus else e=0 # Скиду?м л?чильник помилок якщо вони були echo $e > /var/log/wlanstatus fi #----------------- к?нець опитування if [ $e = 5 ] then echo REBOOT >> /var/log/wlanlog reboot # reboot computer !!! fi ) 2> /dev/null =========================================== Вставить ник Quote
andrew-o Posted March 20, 2003 Author Posted March 20, 2003 У меня FreeBSD 4.6... Слушай, а объясни, пожалуйста, как этот скриптик вообще работает, я в этом пока не силен.... Вставить ник Quote
Sirco Posted March 21, 2003 Posted March 21, 2003 По всей видимости кронтаб у тебя есть ;-) данная строчка в кронтабе запускает скриптик из директории бин Добавляеш в ----------------etc/crontab----------------- * * * * * root /bin/pingwlan ---------------------------------------------- --------------------А вот сам скриптик pingwlan ------------------------ #!/bin/bash Это обявка скрипта что используеться шелл баш (e=$( cat /var/log/wlanstatus ) это переменной "е" присваиваеться предыдущие значение сколько раз пинг не прошел до этого времени из файла вланстатус . # Перев?рка з?днань та роботи wlan pin=$(ping -c 1 -w 2 -U 172.17.51.123 | grep -c 100%) # перев?ря?м чи ? надпис 100% Тут пингаеться 1 раз адресс сервера - вполне возможно что эти свичики у тебя не будут роботать - надо проставить те которые у тебя работают и адрес сервера . Командой греп ищеться надпись 100 прочентов - тойсь пакет прошел . Некоторые особенности команды пинг в новых линуксах -с 1 посылайть только один пакет -w 2 - ждать две секунды -U - не выводить сообщений что часы на компах не совпадают Вот этот свичик может лажать на старых линуксах и фре 172.17.51.123 = ну а это адрес сервера который ты хочеш пинговать. if [ "$pin" -gt 0 ] если пакет не прошел - переменная рин пустая then тогда echo -ne BAD $e >> /var/log/wlanlog записать сколько пингов не прошло в лог date >> /var/log/wlanlog дописать в лог дату let e=$e+1 # Раху?мо помилки дабавить к переменной е единичку echo $e > /var/log/wlanstatus записать сколько пингов не прошло в файл статуса else Иначе e=0 # Скиду?м л?чильник помилок якщо вони були Если пинг прошел - связь возобновилась или вообще не пропадала echo $e > /var/log/wlanstatus и записать в файл fi конец условий #----------------- к?нець опитування if [ $e = 5 ] Если мы насчитали 5 пропаданий пинга один за другим . then тогда echo REBOOT >> /var/log/wlanlog Записать в лог надпись ребут reboot # reboot computer !!! и выполнить команду ребут fi конец условий ) 2> /dev/null Все выводы данной программы направлять в нуль =================================== Я думаю нормально обьяснил ??? ---- Тут еще одно дополнение . Если комп перезагрузился и восстановление связи не произошло он уже не ребутнеться тойсь счетчик будет считать дальше 6-7-8-9-10-11 Для того чтобы этого не происходило надо во время загрузки обнулить значение файла вланстатус тойсь в линуксе это делаеться так в файл /etc/rc.d/rc.local дописываеться строчка echo 0 > /var/log/wlanstatus Ну вот и все ;-) Вставить ник Quote
andrew-o Posted March 21, 2003 Author Posted March 21, 2003 Ладно... или я дурак, или... на этом мысль останавливается... написал я вышеуказанный скрипт и сохранил под вышеуказанным названием... и что?? Как его сделать выполняемым,.. т.е. он у меня в виде текстовичка лежит... Прошу прощения за проявленную глупость и некомпетентность... Вставить ник Quote
SamJan Posted March 22, 2003 Posted March 22, 2003 Ладно... или я дурак, или... на этом мысль останавливается... написал я вышеуказанный скрипт и сохранил под вышеуказанным названием... и что?? Как его сделать выполняемым,.. т.е. он у меня в виде текстовичка лежит... Прошу прощения за проявленную глупость и некомпетентность... Тебеж человек славянским объясняет, сунь путь скрипта в кронтаб пускай крутится. для забавы: */5 * * * * root /usr/local/bin/tvoi_script означает запускать каждые 5 минут. а вместо echo 0>wlanstatus используй "cat /dev/null >/var/log/wlanstatus" Вставить ник Quote
andrew-o Posted March 22, 2003 Author Posted March 22, 2003 А как этот скрипт запустить вручную? В смысле, чтоб я его запускал сам когда надо? Вставить ник Quote
Sirco Posted March 24, 2003 Posted March 24, 2003 Вручную запустить так чтобы он резидентно стоял - не выйдет . Данный скрипт предназначен для одноразового исполнения . Можно в принципе в кронтабе его включать/выключать , тойсь ремарку ставить . так как кронтаб читаеться каждый раз через одну минуту . Вручную то можно запустить - только он исполниться и все . Тойсь для отладки - можно , например прописываеш неправильный адрес которого у тебя нет , и смотриш пишет тебе в лог или нет . запуская данный скрипт несколько можно проследить как он считает ... Если тебе надо скрипт для того что-бы мониторить - тойсь смотреть на екране что у тебя стоит а что легло, для этого есть другой скрипт ... Вставить ник Quote
Dimka Posted March 24, 2003 Posted March 24, 2003 А зачем сервер то ребутить? я правда не когда не настраивал радиоизернет под фрей, может спицифические глюки какие нибудь, но можно же уронить интрефейс и потом его заного поднять ?! (ifconfig <interface> down ) Не дело это серваки ребутить Вставить ник Quote
Sirco Posted March 24, 2003 Posted March 24, 2003 А зачем сервер то ребутить? я правда не когда не настраивал радиоизернет под фрей, может спицифические глюки какие нибудь, но можно же уронить интрефейс и потом его заного поднять ?! (ifconfig <interface> down ) Не дело это серваки ребутить Да можно по всякому - извращаться - если помагает , а если нет ??? У меня был случай когда радиокарточка заходила в ступор от микросхемки шифрации , тойсь : провайдер включил шифрацию , а карточка время от времени виснет от этого , и помогает только ребут ... Опускать поднимать интерфейс можно но ничего не помагает - хочет резета ... Вставить ник Quote
Dimka Posted March 24, 2003 Posted March 24, 2003 Сирко , а я вот собираюсь себе сделать про дому радиоизернет, чтобы с ноутом можно было в любой точке дома , и огорода в инет выходить, вот что посоветуеш? из железа , чтобы под линуксом или фрей не висло Вставить ник Quote
Sirco Posted March 24, 2003 Posted March 24, 2003 Не оно стоит очень хорошо - чаще свет виключают .. только с шифрацией какае-то лажа . Одно время карточка висла , чипсет призм 2.5 а вот недавно карточка на чипсете призм 2.0 начала кушать пакеты такое впечатление что микросхемка шифрации как-то по хитрому сдохла - выключил шифрацию - все стало отлично. А на счет того что брать - тяжело сказать . Бери один акцес поинт и карточку в нотебук . Акцес поинт можеш брать Линксис или что-то в этом роде - стоимость в США около 100баксов . а карточку если есть возможность найди на чипсете призм 2.0 - тогда можеш в полную силу использовать Вланексперт (програмка под виндовс) !!! Но если под линукс и фрии - то не бери карточку с чипсетом Техас Инструмент я не встречал под них драйвера!!!! Если есть побольше денег можеш взять карточку Вавелан Ну еще посмотри в карточке как там в с внешней и внутренней антеной ... А в принципе они не виснут - шифрация с ума сходит ... Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.