Avisar por e-mail se o IP da conexão ADSL mudar
Como o nome já diz, este script serve para me enviar um e-mail todas as vezes que o endereço IP da conexão ADSL de um servidor que você administre remotamente mude. O script é inteligente, só envia um e-mail por cada IP novo e está configurado para ser gravado em /usr/local/monitor/. Agende o script para rodar a cada 5 minutos no crontab e zé fini!
Descrição
Como o nome já diz, este script serve para me enviar um e-mail todas as vezes que o endereço IP da conexão ADSL de um servidor que você administre remotamente mude. O script é inteligente, só envia um e-mail por cada IP novo e está configurado para ser gravado em /usr/local/monitor/. Agende o script para rodar a cada 5 minutos no crontab e zé fini!
#!/usr/bin/perl
# ip_monitor.pl
# Usado para enviar o endereco IP da conexao ADSL por e-mail
# para o administrador do sistema.
# Caso o IP esteja down, ele tenta reiniciar o servico ADSL
# automaticamente.
#
# Programador por: Fabio Berbert de Paula
# <fabio@vivaolinux.com.br>
# http://www.vivaolinux.com.br
use strict;
# variaveis globais - configure de acordo com suas prefs.
my $meu_email = "login\@dominio.com";
my $base_dir = "/usr/local/monitor/";
my $ip_file = $base_dir . "last_ip.txt";
my $last_ip = 0;
my $current_ip = "";
if (-f $ip_file) {
open(R, $ip_file);
$last_ip = <R>; chomp($last_ip);
close(R);
}
my $ifconfig = `/sbin/ifconfig ppp0`;
if ($ifconfig =~ /inet addr:(.*)P-t-P/) {
$current_ip = $1;
$current_ip =~ s/ //g;
} else {
system("/sbin/adsl start");
}
if ($last_ip ne $current_ip && $current_ip) {
#print "entrei\n";
open(W, "> $ip_file");
print W $current_ip;
close(W);
if ($last_ip!=0) {
# enviar email com o ip
system("echo $current_ip | /usr/sbin/sendmail $meu_email");
}
}
Ele usa dhcp, esse script pode ser útil p/ mim??