Отправляет email-рассылки с помощью сервиса Sendsay

Помогите изменить скрипт

То до этого было куча спецов по скриптам, а сейчас нет никого... :(

#!/bin/sh
restart_pptp()
{
/usr/sbin/pptp-command stop vpn1;

if /usr/sbin/pptp-command start vpn1; then
echo "`date +%d.%m.%y_%H:%M:%S` PPTP Restarted" >>
/var/log/ppp/cron.pptp;
fi
}

if ifconfig ppp0 | grep ppp > /dev/null; then
echo "`date +%d.%m.%y_%H:%M:%S` PPTP test Ok" >> /var/log/ppp/cron.pptp;
exit 0;
else
echo "`date +%d.%m.%y_%H:%M:%S` Attempting to restart PPTP" >>
/var/log/ppp/cron.pptp;
restart_pptp > /dev/null 2>&1 &
fi

Как мне к той проверке наличия ppp0 добавить проверку отклика DNS`ов,
что если все шесть пакетов были утеряны или получу ответ From
123.456.799.15 icmp_seq=1 Destination Host Unreachable?

ping -c 3 123.456.789.1
ping -c 3 123.456.789.2

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 28975; Возраст листа: 1223; Участников: 1397
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/614847

Ответить   Tue, 28 Nov 2006 21:53:09 +0200 (#614847)

 

Ответы:

В сообщении от 1164743589 секунд после начала Эпохи Ignatiy Goloviznin написал(а):

if ifconfig ppp0 && \
(ping -c 3 123.456.789.1 || ping -c 3 123.456.789.2) ; then
echo "`date +%d.%m.%y_%H:%M:%S` PPTP test Ok" >> /var/log/ppp/cron.pptp;
exit 0;
else
echo "`date +%d.%m.%y_%H:%M:%S` Attempting to restart PPTP" >>
/var/log/ppp/cron.pptp;
restart_pptp > /dev/null 2>&1 &
fi

Ответить   Konstantin Korikov Tue, 28 Nov 2006 23:49:59 +0200 (#614867)

 

Кому интересно, сделал второй скрипт, который проверяет dns`ы и при
непрохождении ping'а, останавливает связь, на что тот первый скрипт
реагирует востановлением связи.

#!/bin/bash
ping 123.456.789.1 -c 4 -q -w 8 &>/dev/null
rez=$?
if [ $rez != 0 ]; then
echo "`date +%d.%m.%y_%H:%M:%S` Attention PPP DNS1" >> /var/log/ppp/cron.pp;
ping 123.456.789.2 -c 4 -q -w 8 &>/dev/null
rez=$?
else echo "`date +%d.%m.%y_%H:%M:%S` PPP OK" >> /var/log/ppp/cron.pp;
if [ $rez != 0 ]; then
echo "`date +%d.%m.%y_%H:%M:%S` Stopping PPP DNS2" >> /var/log/ppp/cron.pp;
/usr/sbin/pptp-command stop vpn1;
fi
fi

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 29137; Возраст листа: 1235; Участников: 1407
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/619383

Ответить   Mon, 11 Dec 2006 21:18:31 +0200 (#619383)