BASH – Script para monitorear un enlace.-

En este artículo presento un script Bash para verificar el estado de un enlace. Lo he desarrollado para detectar microcortes de red en uno de mis servidores y recolectar evidencia para efectuar un eventual reclamo con el proveedor del servicio.

La idea es ejecutar ping una vez por minuto contra un host determinado (en este ejemplo uso uno de los servidores DNS de Google o el sitio www.siteuptime.com). Para este escenario se necesita un script que haga ping, determine si el enlace funciona y genere una entrada en un archivo de log en caso de falla.
Fuente : http://www.linuxito.com/gnu-linux/nivel-medio/164-script-para-monitorear-un-enlace

#!/bin/bash

# host to ping
#TARGET="www.siteuptime.com"
TARGET="8.8.8.8"

# log file
LOG="/var/log/net-uptime.log"

# ping 3 packets every 2 seconds, wait 3 seconds maximum
PING=$(ping -n -c 3 -i 2 -W 3 $TARGET 2>&1)

if [[ $? != 0 ]]
then
    	if [[ $PING =~ "loss" ]]
        then
            	# no reply
                ERROR=$(echo "$PING" | grep 'loss')
        else
            	# destination unreachable
                ERROR=$PING
        fi
	echo "$(date +%F\ %T) - Failed check - $ERROR" &>> $LOG
fi
Esta entrada fue publicada en Unix - Linux. Guarda el enlace permanente.

Una respuesta en “BASH – Script para monitorear un enlace.-

  1. Jose Castillo dijo:

    Tio un script muy bueno.
    Estoy empezando en esto y me ayuda mucho.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *