Este script nos permite monitorizar una web buscando en su código la palabra necesaria para saber que está funcionando bien. No es un gran sistema de monitorización pero sirve para salir del paso.

 

 

El script se auto bloquea cuando ya ha enviado el primer email con la alerta, para de esta forma no seguir enviando, y se desbloquea cuando al web vuelve a funcionar normalmente.

Necesita tener instalado curl y sendmail.

# apt-get update && apt-get install curl sendmail

 

#!/bin/bash

path=$(dirname $0)"/"$(basename $0)

send_mail=true

email=alerts@ email example.com

url=$1
word=$2

result=$(curl -sL $url | grep "$word" > /dev/null && echo 1 || echo 0)

if [ "$result" != 1 ]; then
        if $send_mail ; then
                echo -e "To: $email\nFrom: alerts@ email example.com\nSubject: Alert! Web $1 down! $(date '+%Y-%m-%d %H:%M:%S')\n\n\nWeb $1 down! Not found word $2!" | /usr/sbin/sendmail "$email"
                sed -i '5s/send_mail\=true/send_mail=false/g' "$path"
        fi
else
        sed -i '5s/send_mail\=false/send_mail=true/g' "$path"
fi

Su ejecución sería la siguiente:

bash /path/to/script.sh "https:test.com" "palabra"

 

Para utilizarlo de forma regular podemos poner un cron.

* * * * *     root    bash /path/to/script.sh "https:test.com" "palabra"

 

En el segundo parámetro hay que poner las palabras o el trozo de código que se desee buscar. En caso de que el string no se encuentren en el código de la web enviará un correo al correo especificado en el script.

 

  • No se han encontrado comentarios

Deja tus comentarios

Enviar un comentario como invitado

0 / 300 Restricción de Carateres
El texto debe estar entre 2-300 caracteres
Sus comentarios están sujetos a moderación por un administrador.