¿Cómo puedo usar el terminal para hacer ping a una computadora cada 60 segundos continuamente, si no hay respuesta de ping suena una alarma?


1

¿Cómo puedo usar el terminal para hacer ping a una computadora cada 60 segundos continuamente? Si no hay respuesta de ping, haga ping cada 1 segundo, si todavía no responde después de 5 pings de un segundo, suene una alarma y continúe haciendo pings cada segundo (sin hacer sonar otra alarma) hasta que Recibo una respuesta, luego vuelvo a hacer ping cada 60 segundos.

También me gustaría ver un número de conteo progresivo para saber cuántos pings exitosos he tenido desde que ingresé el comando como si fuera a hacer un "ping ip" normal.

Actualmente estoy usando este comando que está cerca, pero quiero más. Encontré / adapté este comando de otra publicación en este sitio.

while :; do ping -t 2 -c 1 $1192.168.1.100 || open alarm.m4a; sleep 60; done

Como probablemente también descubrió, esto no se considera una buena práctica. Tal vez debería buscar una mejor manera de hacer lo que está tratando de hacer.
— Debra

¿Por qué esto no sería considerado una buena práctica?
— eschleezy

inetdaemon.com/tutorials/troubleshooting/ping.shtml lo dice muy bien: "Un ping extendido a menudo es usado por personas con menos conocimientos técnicos para rastrear 'pérdida de paquetes' o 'latencia'". Y si no posee el servidor al que está haciendo ping, podría ser acusado fácilmente de lanzar un ataque, a pesar de que el tráfico es mínimo.
— Debra

Respuestas:


1
ip=192.168.1.100
while :; do
  ping $ip || {
    for i in {1..5}; do ping $ip && continue 2; sleep 1; done
    afplay alarm.m4a
    while sleep 1; do ping $ip && break; done
  }
  sleep 60
done

Esto parece cercano, sin embargo, no sonó la alarma y suena cada segundo desde el principio. ¿Alguna idea?
— eschleezy
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.