Enviado em 05/04/2016 - 01:05h
Olá galera do VOL, estou com dificuldades em criar um script que consiga ler alguns ips, fazer a checagem da situação atual e anterior e realizar a ação, se ficou UP manda e-mail se ficou down manda e-mail.
Consegui fazer com apenas 1 host, eu poderia criar vários arquivos para essa monitoração, mas ficará complicado para outra pessoa dar continuidade.
Alguém pode me dar uma dica?
#!/bin/bash -x
# Variaveis:
HOSTS=10.1.1.194
COUNT=4
ONLINE=0
while true
do
#Inicio do codigo:
for myHost in $HOSTS
do
count=$(ping -c $COUNT $myHost | grep 'received' | awk -F',' '{ print $2 }' | awk '{ print $1 }')
if [ $count -ne 0 ] && [ $ONLINE -ne 1 ]; then
# echo "Teste: $myHost esta online" >> /usr/local/bin/log.txt
echo "Alarme $myHost esta ligado" | mail -s "Alarme Teste" meue-mail@gmail.com
ONLINE=1
fi
if [ $count -eq 0 ] && [ $ONLINE -ne 0 ]; then
echo "Teste: $myHost esta desligado" >> /usr/local/bin/log.txt
ONLINE=0
fi
sleep 10
done
done
Consegui fazer com apenas 1 host, eu poderia criar vários arquivos para essa monitoração, mas ficará complicado para outra pessoa dar continuidade.
Alguém pode me dar uma dica?
#!/bin/bash -x
# Variaveis:
HOSTS=10.1.1.194
COUNT=4
ONLINE=0
while true
do
#Inicio do codigo:
for myHost in $HOSTS
do
count=$(ping -c $COUNT $myHost | grep 'received' | awk -F',' '{ print $2 }' | awk '{ print $1 }')
if [ $count -ne 0 ] && [ $ONLINE -ne 1 ]; then
# echo "Teste: $myHost esta online" >> /usr/local/bin/log.txt
echo "Alarme $myHost esta ligado" | mail -s "Alarme Teste" meue-mail@gmail.com
ONLINE=1
fi
if [ $count -eq 0 ] && [ $ONLINE -ne 0 ]; then
echo "Teste: $myHost esta desligado" >> /usr/local/bin/log.txt
ONLINE=0
fi
sleep 10
done
done