Cron.d
Witam.
Mam maly problemik. Czasem wiesza mi sie pppd, wiec aby nie odbierac
tysiecy telefonow ze nie mam internetu, napisalem maly skrypt, ktory
resetuje mi serwer, w momencie kiedy nie ma pinga do serwera providera:
#!/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 212.244.10.1`;
if ( $? == 0 )
{
$test = komunikat("Net OK");
shut("$test", "exit 0");
}
elsif ( $? == 512 )
{
$test = komunikat("Unkown host - reebot");
shut($test, "shutdown -r now");
}
elsif ( $? == 256 )
{
$test = komunikat("Host not found - reebot");
shut($test, "shutdown -r now");
}
else
{
$test = komunikat("Unkown error - reebot");
shut($test, "shutdown -r now");
}
uruchamiam go z cron.d:
*/2 * * * * root /home/michal/./test
Skrypt odpalony z lapki dziala bezblednie - loguje co robi i resetuje
serwer. Odpalony z crona loguje co ma zrbic i na tym poprzestaje.
Gdzie tkwi diabel?
Nie sadze, zeby to cos zmienialo, ale system to debian woody.
M
Reply to: