• Авторизация


"умный" тестер содинения с инетом 08-04-2009 10:59 к комментариям - к полной версии - понравилось!


изначально был сделан примитивный скрипт:
#!/bin/bash
resu=`ping $1 2>/dev/null | grep '64 bytes from'`;
if [ "$resu" == "" ]; then
echo "FAIL!";
fi;
запускался по крону каждые 5 минут, в качестве параметра использовался мой дефол гейтвей x.y.z.c. корректно работало до тех пор пока у провайдера не рухнул внешний канал - гейтвей пингуется, а инета нет( - лажа. поменял запись в кроне и теперь пингую rambler.ru. Всё было хорошо пока не сдохли оба DNS-сервака - rambler.ru не резолвиться, результат "FAIL!", а инет есть (мне имела значение работа только по ip, т.к. dns я кешировал). прописал в крон и пингую 81.19.70.3 (тот же рамблер), но однажды сдох рамблер (2-3месяца назад) и я опять получил результат fail!, хотя инет был. Было решено написать "умный" скрипт который бы не орал бы по каждому поводу, а срабатывал только тогда когда действительно ничего не работает. вот он:

code:

#!/bin/bash

firsthost="ya.ru"
firsthostip="213.180.204.8"
secondaryhost="google.ru"
secondaryhostip="72.14.221.104"
maxhops="7";


str=`ping $firsthost -c 1 2>/dev/null | grep '64 bytes from' `;
if [ "$str" == "" ];
then
date;
echo "ping $firsthost falied!";
str1=`ping $firsthostip -c 1 2>/dev/null | grep '64 bytes from' `;
if [ "$str1" == "" ];
then
echo "ping $firsthostip($firsthost) falied!";
str2=`ping $secondaryhostip -c 1 2>/dev/null | grep '64 bytes from' `
if [ "$str2" == "" ];
then
echo "======================================";
traceroute $firsthostip -m $maxhops
echo "======================================";
echo "RESULT: FAIL!!!";
else
echo "$secondaryhostip($secondaryhost) ping ok!";
echo "RESULT: ya.ru unavaible, google.ru avaible";
fi;
else
echo "ping $firsthostip($firsthost) ok! DNS falied!";
fi;
fi;
exit 0;



теперь я пингую 2 хоста по ip и по dns-имени. результат выдает данные для диагностики неполадки.
вверх^ к полной версии понравилось! в evernote


Вы сейчас не можете прокомментировать это сообщение.

Дневник "умный" тестер содинения с инетом | piroman17 - Дневник piroman17 | Лента друзей piroman17 / Полная версия Добавить в друзья Страницы: раньше»