Enviado em 20/07/2015 - 12:47h
Boa tarde a Todos,
Gostaria de pedir a ajuda de vocês com seguinte questão.
No script abaixo preciso que /usr/sbin/asterisk -r -x 'sip show registry' > /tmp/saidasip.log, este comando do asterisk verifica se o tronco sip está registrado, depois envio a saída do comando para o arquivo saidasip.log, seguido do comando grep que ao encontrar as frase :
"220 Registered" ou "qualquer situação diferente" ele manda para variável "resultsec", depois disto ela imprime na tela o resultado da seguinte forma:
Para "220 Registered" - OK - SIP Registrado
Para "qualquer situação diferente" - "CRITICAL - SIP Não Registrado"
O problema é que independente da frase encontrada na saída do arquivo a resposta é sempre a mesma, " OK - SIP Registrado "
Preciso da ajuda de vocês nesta.
Obrigado a Todos!!!!!
Segue o Script
Gostaria de pedir a ajuda de vocês com seguinte questão.
No script abaixo preciso que /usr/sbin/asterisk -r -x 'sip show registry' > /tmp/saidasip.log, este comando do asterisk verifica se o tronco sip está registrado, depois envio a saída do comando para o arquivo saidasip.log, seguido do comando grep que ao encontrar as frase :
"220 Registered" ou "qualquer situação diferente" ele manda para variável "resultsec", depois disto ela imprime na tela o resultado da seguinte forma:
Para "220 Registered" - OK - SIP Registrado
Para "qualquer situação diferente" - "CRITICAL - SIP Não Registrado"
O problema é que independente da frase encontrada na saída do arquivo a resposta é sempre a mesma, " OK - SIP Registrado "
Preciso da ajuda de vocês nesta.
Obrigado a Todos!!!!!
Segue o Script
/usr/sbin/asterisk -r -x 'sip show registry' > /tmp/saidasip.log
check_siptrunk.sh
#!/bin/bash
/usr/sbin/asterisk -r -x 'sip show registry' > /tmp/saidasip.log
resultsec='cat /tmp/saidasip.log | grep "220" | grep -v "-" | cut -d"|" -f5 | grep -i Registered'
if [ -f "$resultsec = Registered" ]
then
echo -e "CRITICAL - SIP Não Registrado"
exit 2
else
echo -e " OK - SIP Registrado "
exit 1
fi