Как я могу использовать терминал, чтобы пинговать компьютер каждые 60 секунд непрерывно, если нет ответа на пинг, звучит сигнал тревоги

1027
eschleezy

Как я могу использовать терминал, чтобы пинговать компьютер каждые 60 секунд непрерывно, если нет ответа на пинг, а затем пинг каждые 1 секунду, если по-прежнему нет ответа через 5 секунд, пингует сигнал тревоги и продолжает пинговать каждую секунду (без подачи другого сигнала тревоги) до Я получаю ответ, затем переключаюсь на пинг каждые 60 секунд.

Я также хотел бы видеть подсчитываемое число, чтобы знать, сколько успешных пингов у меня было с тех пор, как я ввел команду, как если бы я просто делал обычный «ping ip».

В настоящее время использую эту команду, которая близка, но я хочу больше. Я нашел / адаптировал эту команду из другого поста на этом сайте.

while :; do ping -t 2 -c 1 $1192.168.1.100 || open alarm.m4a; sleep 60; done 
1
Как вы, вероятно, также обнаружили, это не считается хорошей практикой. Возможно, вам следует найти лучший способ сделать то, что вы пытаетесь сделать. Debra 11 лет назад 0
Почему это считается плохой практикой? eschleezy 11 лет назад 0
На http://www.inetdaemon.com/tutorials/troublesho/ping.shtml это хорошо сказано: «Расширенный пинг часто используется менее технически осведомленными для отслеживания« потери пакетов »или« задержки »». И если у вас нет сервера, на который вы пингуетесь, вас могут легко обвинить в запуске атаки, несмотря на то, что трафик очень минимален. Debra 11 лет назад 0

1 ответ на вопрос

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 
Это кажется близким, однако не включало сигнал тревоги и пингует каждую секунду с самого начала. Какие-нибудь мысли? eschleezy 11 лет назад 0

Похожие вопросы