Wie kann ich mit dem Terminal alle 60 Sekunden ein Ping-Signal an einen Computer senden, wenn keine Ping-Antwort einen Alarm auslöst?

1169
eschleezy

Wie kann ich das Terminal verwenden, um einen Computer alle 60 Sekunden ununterbrochen an einen Computer anzupingen? Wenn keine Ping-Antwort ausgeführt wird, dann Ping alle 1 Sekunde, wenn nach 5 Sekunden eine Antwort immer noch keine Antwort ertönt, ertönt ein Alarm und es wird weiterhin jede Sekunde gepingt (ohne einen weiteren Alarm auszulösen), bis Ich erhalte eine Antwort und wechsle dann alle 60 Sekunden zum Ping.

Ich würde auch gerne eine Count-Up-Nummer sehen, also weiß ich, wie viele erfolgreiche Pings ich hatte, seit ich den Befehl eingegeben habe, so wie ich es sehen würde, wenn ich nur eine normale "Ping-IP" mache.

Momentan benutze ich diesen Befehl, aber ich will mehr. Ich habe diesen Befehl in einem anderen Beitrag auf dieser Site gefunden / angepasst.

while :; do ping -t 2 -c 1 $1192.168.1.100 || open alarm.m4a; sleep 60; done 
1
Wie Sie wahrscheinlich auch festgestellt haben, wird dies nicht als gute Praxis betrachtet. Vielleicht sollten Sie einen besseren Weg finden, um das zu tun, was Sie gerade versuchen. Debra vor 11 Jahren 0
Warum sollte dies nicht als gute Praxis betrachtet werden? eschleezy vor 11 Jahren 0
http://www.inetdaemon.com/tutorials/tr.html/ping.shtml bringt es auf den Punkt: "Ein erweiterter Ping wird häufig von technisch weniger versierten Personen verwendet, um 'Paketverlust' oder 'Latenz' zu verfolgen." Wenn Sie nicht den Server besitzen, für den Sie einen Ping-Befehl ausführen, können Sie leicht beschuldigt werden, einen Angriff auszuführen, obwohl der Datenverkehr sehr gering ist. Debra vor 11 Jahren 0

1 Antwort auf die Frage

1
user495470
ip=192.168.1.100 while :; do ping $ip || { for i in ; do ping $ip && continue 2; sleep 1; done afplay alarm.m4a while sleep 1; do ping $ip && break; done } sleep 60 done 
Dies scheint nahe zu sein, es hat jedoch von Anfang an nicht jede Sekunde Alarm und Pings gespielt. Irgendwelche Gedanken? eschleezy vor 11 Jahren 0