Witam
Przegladajac internet znalazlem skrypt, ktory jest mi bardzo potrzebny - siedze juz od
kilku godzin nad nim ale ciagle nie dziala. Skrypt ma za zadanie sprawdzac co 15 minut
czy jest polaczenie z hostem a jesli nie to ma odpalic logowanie do sieci lub jesli
jest inny blad ma zresetowac serwer,
#!/usr/bin/perl
sub shut
{
open (LOG, ">>/var/log/shutdown.log");
print (LOG "@_[0]");
close LOG;
#komenda do wykoanania
[EMAIL PROTECTED];
}
sub komunikat
{
$godzina = `date`;
chomp $godzina;
$text = "$godzina @_[0]\n";
return $text;
}
`ping -c 10 81.21.200.2`;
if ( $? == 0 )
{
$test = komunikat("Net OK");
shut("$test", "exit 0");
}
elsif ( $? == 512 )
{
$test = komunikat("Unkown host - reebot");
shut($test, "zaloguj");
}
elsif ( $? == 256 )
{
$test = komunikat("Host not found - reebot");
shut($test, "zaloguj");
}
else
{
$test = komunikat("Unkown error - reebot");
shut($test, "reboot");
}
Sa wymienione 2 bledy - w pozostalych przypadkach chce zeby zresetowac serwer.
Poniewaz skrypt byl napisany pod Debiana w PLD nie chce ruszyc. Jesli jest polaczenie
OK to jest wszystko w porzadku - ale jesli nie ma polaczenia (nie ma pingow do tego IP
to nic nie wykonuje i skrypt sie zawiesza. Prosze o pomoc. Sa napisane osobne skrypty
z pelnymi sciezkami dostepu do reboot i do zaloguj - problem w tym ze nawet nie daje
ten skrypt logow o zlym polaczeniu.
iwi