[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Script para chequear la velocidad de conección



El Jueves, 10 de Junio de 2004 17:30, Fernando Barceló escribió:
> Ultimamente ciudad internet anda para el diablo, al menos en la zona en
> la que yo estoy, mantiene la conección pero se empiezan a disparar los
> tiempos de latencia de una forma impresionante (llegué a tener 2556 en
> un ping a yahoo) y la única solución es reconectar.
>
> como en casa tengo varias máquinas, una usada por mis padres y otras por
> mi hermano en winkk y reciben inet via NAT desde mi máquina me vi
> obligado a automatizar la cuestión para evitar que a cada rato me llamen
> para preguntar por que no anda.
>
> así que empecé a armar el siguiente script (Esto en realidad lo había
> hecho hace tiempo pero luego el problema se solucionó y lo dejé ahí,
> ahora volvió y aquí estoy )
>
> #!/bin/bash
> latencia=`ping -c 4 www.yahoo.com | grep min/avg/max | awk '$4'| awk -F
> / '{print $4}'`
> echo "El tiempo de latencia es" $latencia
> if [ $latencia > 500 ];
>         then
>                 echo la latencia es muy alta, voy a reconectar
>         #       reconecta
>         else echo La latencia esta bien, mantengo la conexión
> fi
>
>
> El script detecta correctamente los tiempos de latencia, el problema es
> que el if es completamente ignorado, sea cuál sea el valor de $latencia
> sale por la reconección.
>
> ¿alguno puede darme una manito con esto?
>
> Seguramente es alguna cuestión de sintáxis que no llego a ver.
>


Esto rula. Las comparaciones de enteros son con -gt -lt -eq. El ultimo sed es 
para limpiar el punto y los decimales. Fijate que puedes considerar todo 
separado por / y ahorrar un awk.

latencia=`ping -c 4 www.yahoo.com | grep min/avg/max | awk -F/ '{print $5}' | 
sed 's/\..*//'`
if [ "$latencia" -gt 500 ]; then
                 echo la latencia es muy alta, voy a reconectar
         #       reconecta
else
        echo La latencia esta bien, mantengo la conexión
fi

Si va por cron deberias quitar la salida en el caso de que valla bien, ya que 
si no te lo mandara por correo.



Reply to: