Tag: ping
pingping – Verificando conexão com servidores.
by Felipe 'chronos' Prenholato on 12:28, under Dicas, Linux, Planet GentooBR, Servidores
Nota: Olá meus caros leitores, apesar do ChronosBox ser um ótimo Blog, eu estou focando meus esforços em um blog conjunto com meu amigo Handrus Nogueira, portanto não deixem de visitar o Dev With Passion! Todos os posts do ChronosBox estarão no Dev With Passion, exceto por alguns comentários novos. Abraços!
Ai em baixo meu script pingping. Ele vai alertar os emails quando algum servidor parar. Leia ele
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | #!/bin/sh # This script send ICMP requests for each server on SERVIDORES list and sends # emails for emails in LISTA_EMAILS list why one of servers doesn't reply # You only receive alerts if in last time that script request server we have a success reply # or if we not tested server yet. # # Author: Felipe Rafael Prenholato - chronos@gentoobr.org # IRC: nick chronos at irc.freenode.net # Date: 21 de Junho de 2006. # # This script is under GPLv2. Read it at http://www.gnu.org/licenses/gpl-2.0.txt. # Any changes please send me a mail :). # # IP or name of servers to test SERVIDORES="elise prime odissey" # emailo to send alerts LISTA_EMAILS="chronos@gentoobr.org philipe_rp@yahoo.com.br" # date format to send in email data=$(date +"%T de %d/%m/%Y") # this function sends ping ping_server() { local pingreturn local serversts local TMPFILE local server server=$1 TMPFILE="/tmp/ping_$server.tmp" # Debug #echo "Server: $server" #echo "Temp file: $TMPFILE" # ping and get return ping -c3 $server &>/dev/null; pingreturn=$?; # 0 means ok if [ "$pingreturn" == "0" ] then echo "1" > $TMPFILE fi # 1 means problems if [ "$pingreturn" == "1" ] then if ! [ -e $TMPFILE ] then echo "1" > $TMPFILE fi serversts=$(cat $TMPFILE) # send mail if have problems if [ "$serversts" == "1" ] then echo "0" > $TMPFILE msg="Servidor $server fora do ar em $data. Contatar responsavéis." ass="Servidor $server fora do ar." LC_ALL="en_US.ISO-8859-1" echo "$msg" | mail -s "$ass" $LISTA_EMAILS fi fi } # roda ping_server para cada servidor. for e in $(echo $SERVIDORES); do ping_server $e; done |
Ele precisa ser instalado em um servidor que possa pingar os demais e enviar emails. Versões antigas do postfix não vão funcionar, tem q suportar a opção -a no comando mail, seu uso é:
./scriptColoque ele para rodar no cron e fique numa boa