ping Aviso
Publicado por Fábio Berbert de Paula 13/11/2002
[ Hits: 13.122 ]
Homepage: https://fabio.automatizando.dev
Script que fica enviando pacotes através do comando ping para
uma determinada máquina e avisa o administrador de sistemas
por email quando a máquina deixa de responder. Bom para detectar
quedas de rede.
#!/usr/bin/perl # ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # pingAviso.pl # # Script que fica enviando pacotes através do comando ping para # uma determinada máquina e avisa o administrador de sistemas # por email quando a máquina deixa de responder. Bom para detectar # quedas de rede. # # Programado por Fábio Berbert de Paula <fabio@vivaolinux.com.br> # Na web em: www.vivaolinux.com.br # # Rio de Janeiro, 25 de Julho de 2002 # ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ use strict; use MIME::Entity; # módulo para envio de email # definir variáveis globais -- my $ip = '200.215.128.83'; # endereço IP do host target my $ping = '/bin/ping'; my $time = 60; # executar verificação a cada 60 segundos my $tout = 3600; # aguardar 5 minutos após a queda da máquina, só para # dar tempo de a mesma voltar em caso de reinicialização :) # mude aqui o seus endereços de email my $sysfrom = 'Fábio Berbert de Paula <fabio@vivaolinux.com.br>'; my $systo = 'suporte@vivaolinux.com.br'; my ($out,$corpo); # looping principal while (1) { $out = `$ping -c 3 $ip`; # execute o ping if ( $out !~ /bytes from/i ) { # se não recebemos uma saída positiva (bytes from), vamos avisar # o sysadmin print "$ip fora do ar, avisando por email...\n"; avisar(); } sleep(1); } sub avisar { # capturar a data e hora de agora my ($dia,$mes,$ano,$hora,$min) = (localtime(time))[3,4,5,2,1]; $ano += 1900; $mes++; $mes = sprintf("%02d",$mes); $dia = sprintf("%02d",$dia); $hora = sprintf("%02d",$hora); $min = sprintf("%02d",$min); # definir corpo da mensagem $corpo .= ' Atenção, A máquina ('. $ip . ') não está respondendo ao ping, tudo indica que a mesma está fora da rede. Favor efetuar uma verificação manual, este é um teste automático. '; $corpo .= "\nRio de Janeiro, $dia do $mes de $ano - $hora:$min hs"; # enviar email com o corpo atual my $top = build MIME::Entity From => $sysfrom, To => $systo,, Subject => "$ip fora da rede", Data => $corpo; open(MAIL,"| /usr/lib/sendmail -t"); $top->print(\*MAIL); close(MAIL); sleep($tout); }
Script para Detectar rede Wireless
Script de conectividade wireless
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Descritores de Arquivos e Swappiness
tux-gpt - Assistente de IA para o Terminal
Instalação e configuração do Chrony
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
Como instalar no Linux Jogos da Steam só para Windows
Instalando o Team Viewer no Debian Trixie - problema no Policykit
O Que Fazer Após Instalar Ubuntu 25.04
Erro ao executar o comando para dar um get email (0)
Instalei Windows 11 e não alterou o Grub do Debian (2)
Albfneto. Voltando devagar. (0)
Os empreguim de meu Deus estão cada vez mais tecnológicos (8)