Skrypt do resetowania serwera
Irek
ireneusz.indyk w excellent.com.pl
Czw, 22 Sty 2004, 21:59:14 CET
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
`@_[1]`;
}
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
Więcej informacji o liście dyskusyjnej pld-users-pl