Script : Telnet Monitoring

 

Uma vez este utilizei este script para uma demanda específica , então estou deixando aqui meu script caso alguém precise.

 


host=localhost
DATE=`date +%Y-%m-%d`
TIME=`date +%H%M%S`
LOG_OK=/tmp/telnet_ok
LOG_FAIL=/tmp/telnet_falha

for port in 80 25 22 443 110
do
if telnet -c $host $port </dev/null 2>&1 | grep -q Escape; then
  echo "$DATE $TIME  $port: Connected" >> $LOG_OK
else
  echo "$DATE $TIME $port : no connection" >> $LOG_FAIL 
fi
done

 

Caso precise receber email sobre o status podemos usá-lo da seguinte forma :

Considerando que a variável $NUM no começo do script é o número de portas a serem monitoradas.


host=localhost
DATE=`date +%Y-%m-%d`
TIME=`date +%H%M%S`
LOG_OK=/tmp/telnet_ok
LOG_FAIL=/tmp/telnet_falha
$NUM=5

for port in 80 25 22 443 110
do
if telnet -c $host $port </dev/null 2>&1 | grep -q Escape; then
  echo "$DATE $TIME  $port: Connected" >> $LOG_OK
else
  echo "$DATE $TIME $port : no connection" >> $LOG_FAIL
tail -$NUM | mail -s "Port Check $DATE" fabio.abreu@fajlinux.com.br
fi
done

 

Após ajustar coloque no seu crontab.