Pos mira, para jugar con perl he hecho el siguiente script para ver si unos ciertos equipos estan encendidos o no, y en caso que no lo esten me avisen por email. Tonterías sí :).
#!/usr/bin/perl
use strict;
use warnings;
use Net::Ping;
use Net::SMTP;
my @ap = ("192.168.0.3", "192.168.0.5", "192.168.0.6", "192.168.0.7",
"192.168.0.8", "192.168.0.9", "192.168.0.10","192.168.0.11");
sub ping {
my @dead;
foreach (@_)
{
my $p = Net::Ping->new();
push @dead, $_ unless $p->ping($_,2);
$p->close();
}
return @dead;
}
sub mail {
unless (@_ <= 0) {
my $smtp = Net::SMTP->new('10.0.0.2', Timeout => 60);
my $message = "From: algo\@algo.com\nSubject: WIFIS\n\n
$smtp->mail('algo@algo.com');
$smtp->to('alguien@dalgunlado.com');
$message .= $_ . "\n" foreach (@_);
$smtp->data();
$smtp->datasend($message);
$smtp->datasend();
$smtp->quit;
}
}
my @kk=ping(@ap);
mail(@kk);
Comentarios