Monitor en bash con avisos Telegram
Por cuestiones de trabajo me hizo falta una forma de verificar cuando se perdía alguno de nuestros enlaces o cuando se cae la VPN y pues eso se soluciono con este pequeño script en bash, no entrare en detalles pero si dejare el código que uso.
#!/bin/bash
fecha=$( date +”%Y-%m-%d %H:%M:%S”)
dia=$( date +”%Y-%m-%d”)
hora=$( date +”%H:%M:%S”)
epo=$( date +”%s”)
FILE=”/root/msgs/oleo.lock”;
HOST=69.69.69.69
NOMBRE=”NOmbr”;
FIL=`cat $FILE`;
FO=$FIL
# CHECA SI EL ARCHIVO EXISTE, EN CASO DE EXISTIR VALIDAD SI RESPONDE LA IP, EN CASO DE NO RESPONDER NO HACE NADA, SI RESPONDE MANDA MENSAJE DE QUE YA REGRESO Y BORRA EL ARCHIVO
if [ -f “$FILE” ]; then
ping -c 4 $HOST > /dev/null 2>&1
if [ $? -ne 0 ]
then
exit
else
curl -s -X POST -k https://api.telegram.org/botCODIGO/sendMessage -d chat_id=-CANALID -d text=”Regreso $HOST VPN “
rm -Rf $FILE
fi
else
# COMO NO EXISTE EL ARCHIVO HACE UNA VALIDACION PARA VER SI RESPONDE LA IP, SI NO RESPONDE MANDA ALERTA Y CREA EL ARCHIVO, SI RESPONDE NO HACE NADA
ping -c 4 $HOST > /dev/null 2>&1
if [ $? -ne 0 ]
then
# POR SI QUIERES MANDAR CORREO EN LUGAR DE MENSAJE
date ‘+%s’ > $FILE
#mailx -s “Server $HOST is down” -t “$NOTIFYEMAIL” < /dev/null
curl -s -X POST -k https://api.telegram.org/botCODIGO/sendMessage -d chat_id=-CANALID -d text="Esta fuera $HOST VPN "
else
exit
fi
fi
Y así lo tenemos funcionando sin mucho problema.
No entramos en mucho detalle en la parte de los datos Telegram, ya que damos por entendido que los tenemos con antelación