LINUX.ORG.RU
ФорумAdmin

При отпаде сети скомандовать Shutdown ????


0

0

В общем проблема интересная, просто периодически отрубается сетевуха, глючит мама. Сменить физически пока нет возможности. Хочу повесить задание, чтоб каждый час проверялось состояние сети (пока просто ping), и если задание возвращает отрицательный ответ выполняется команда Shutdown. Т.к. машина стоит без монитора и без клавы. Но не знаю как это реализовать, т.к. не знаю кодов возвращаемых ошибок.... может кто знает вариант проще ?????

anonymous

Попробуй так:

ping -c 1 x.x.x.x >/dev/null 2>&1
if [ "$?" = "1" ]; then
    echo "Нет связи, ложим тачилу"|mail admin -s 'No ping ==> shutdown'
    shutdown -h now     # или "-r" - reboot
fi

Вопрос: а зачем делать shutdown ???  Может лучше ifdown ethX, ifup ethX ?

spirit ★★★★★
()

Может, это и криво, более знающий народ поправит! :)

#!/usr/bin/perl -w

$PING = '/bin/ping -s1 -c1 router-gw';

open(STAT, "$PING |");

while(<STAT>) {
    chomp;
    if ($_=~m/transmitted/) {
        (undef,undef,undef,undef,undef,undef,$loss,undef,undef) = split();
        if ($loss eq "100%") {
            open (MAIL,"|/usr/sbin/sendmail -t");
            print MAIL "From:vasya\@pupkin.ru\n";
            print MAIL "To: root\n";
            print MAIL "Subject: Карточка подохла!\n\n";
            print MAIL "Собственно, сабж! :)";
            close(MAIL);
            system '/sbin/reboot';
        };
    };
};
close(STAT);

В моем случае, сеть поднимает только ребут машины, просто карточку менять лень :)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.