¿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
eschleezy
fuente
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
Lri
fuente
Esto parece cercano, sin embargo, no sonó la alarma y suena cada segundo desde el principio. ¿Alguna idea?
eschleezy