Script bash: Server Status

Script bash: Server Status

Todos sabemos de la importancia de que un servidor siempre este activo, por eso mismo con el simple script Bash que proponemos hoy, podremos verificar si un servidor o VPS está «ACTIVO» o «CAÍDO».

El script «Server Status» lo podemos ejecutar de forma manual, pero claro… es evidente que su forma natural es trabajar mediante una tarea cron.

Como único requisito previo debes tener instalado «fping«, disponible el la gran mayoría de las distribuciones linux, y la función mail.

Script bash: Server Status 1

 

Lo vemos.

 

Script Server Status

Creamos el script.

nano status.sh

Copia y pega.
#!/bin/bash
host="IP or domain" ##IP o dominio del server
mail="mail@mail" ##mail donde recibirás los avisos.
status=$(fping $host)
status=$(echo $status | awk '{print $3}')
if [ -e /tmp/status-$host.txt ]
  then
    laststatus=$(cat /tmp/status-$host.txt)
    if [[ $laststatus != $status ]]
      then
        echo $status > /tmp/status-$host.txt
        if [[ $status = "alive" ]]
          then
            echo "Hi, the server $host is back up." | mail -s "The server $host is UP !" $mail
        else
          echo "Hi, the server $host is down." | mail -s "he server $host is DOWN !" $mail
        fi
    fi
else
  echo $status > /tmp/status-$host.txt
fi

Guarda y cierra el editor.

Script bash: Server Status 2

 

Uso del Script Bash

De forma manual:

./status.sh

también....

bash status.sh

Con tarea cron:
crontab -e

para que se ejecute cada minuto agregamos lo siguiente (recuerda que la ruta puede cambiar):
*/1 * * * * bash /path/to/status.sh

Ya lo tenemos listo.

 

Espero te resulte útil.

 

Agregar comentario