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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
#!/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 |
Tio un script muy bueno.
Estoy empezando en esto y me ayuda mucho.