cacaloco2
(usa Ubuntu)
Enviado em 06/06/2018 - 11:33h
Bom dia amigos.
Sou novo no grupo e esta é a primeira vez que posto alguma coisa. Depois de passar 19 anos trabalhando com Windows acabei migrando para o Linux, e acabei meio que caindo no meio de um fogo cruzado, pois de cara fui trabalhar no Paraguai, com um servidor linux.
Indo ao meu problema, quero monitorar minha rede elétrica, para quando faltar luz me avisar, então oque fiz foi o seguinte: instalei o ubuntu mate em um raspberry pi 3, conectei meu roteador wifi no ups, e um cabo de rede (que não esta no ups) no pi, assim quando não tivesse rede lan, o pi me envia um email pela wifi e salva a informacão em um arquivo de texto no pi.
Minha questão é a seguinte, criei o script abaixo:
#!/bin/bash
#--------------------------Parametros-------------------------
MSG="Tem luz no galpao"
ERRO="Nao tem luz no galpao"
#-------------------------------------------------------------------------
TEST_NET() {
NET_STATE=`(ping -c 2 192.168.xxx.xxx | grep -c time)`
if [ $NET_STATE -ne 3 ]; then
sudo sendEmail -f claiton@xxx.net -t claiton.a@xxx.com.br -u "Informativo xxx" -m "Email informativo xxx.
Estamos sem conexao, luz e sem papel no banheiro." -s mail.xxx.xxx:587 -xu claiton@xxx.net -xp senha1
echo "$(date +%d/%m/%y-%H:%M:%S) $ERRO" >> log_rede.txt
else
sudo sendEmail -f claiton@xxx.net -t claiton.a@xxx.com.br -u "Informativo xxx" -m "Email informativo xxx.
Ja estamos com conexao, luz e temos papel no banheiro." -s mail.xxx.xxx:587 -xu claiton@xxx.net -xp senha1
echo "$(date +%d/%m/%y-%H:%M:%S) $MSG" >> log_rede.txt
fi
}
TEST_NET # Chama a função
Esse script funciona, me envia email, só que oque o problema é que ele fica sempre mandando email, se ficar 5 minutos sem luz, ele fica 5 minutos me enviando email. Oque eu quero fazer e não estou conseguindo, é fazer com que ele me envie apenas o primeiro email avisando, e apenas siga salvando a informacão no arquivo de texto.
Quero uma ajuda do pessoal, para fazer com que esse script envie apenas o primeiro email, depois siga fazendo o ping na rede.