pingping – Verificando conexão com servidores.

25 Jun

Ai em baixo meu script pingping. Ele vai alertar os emails quando algum servidor parar. Leia ele :).

#!/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 é:

./script

Coloque ele para rodar no cron e fique numa boa 🙂

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)

One Response to “pingping – Verificando conexão com servidores.”

  1. Leandro Miranda novembro 28, 2008 at %H:%M 01Fri, 28 Nov 2008 13:49:07 +000007. #

    Precisa de algum serviço instalado no servidor para que o email seja enviado, fiz modificaçao no script somente do ip do servidor e dos emails e não ta enviando email, e eu ja tentei muitas coisas, inclusive ja mudei as permiçoes do script com o chmod +x script

    se tiver como me da uma luz favor responde ai.. abraço e otimo post…

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)

Leave a Reply