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