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