или просто перенаправить в лог с датой выполнения прикрученый в crontabe
Код: Выделить всё
#!/usr/bin/perl
use CGI qw(:standard);
use Net::Ping;
$host = '192.168.1.10';
$p = Net::Ping->new('icmp');
if ($p->ping($host)) {use Net::Telnet;
$telnet = new Net::Telnet (Timeout=>10,
Prompt => '/[\w().-]*[\$#>:.]\s?(?:\(enable\))?\s*$/');
$telnet->open('xxx.xxx.x.xx');
$telnet->login('login', 'pass');
print $telnet->cmd('ls');
$telnet->close;
}
else {$output .= qq~$host - Сервер не пигнуется.\n~;}
$p->close();
#print header();
print $output;
писался под задачу следующего характера:
Пингуется удаленный модем, если все нормально, то по телнету с логином и паролем входим на модем с другой стороны и выполняем нужную комманду в данном случае эта команда чтения каталога "ls"
Можно легко поднастроить под свои нужды
