Сценарий тестирования, если хост назад онлайн

Например, система: Ubuntu/Debian.

Поскольку многие из Вас делают это, вероятно, через ping и терминал, я всегда забываю этот терминал при переключении на другую задачу. Таким образом, всплывающее окно уведомления было бы полезно. Таким образом, я могу добиться большего успеха как это?

while; do
  if ping -c 1 your.host.com; expr $? = 0; then
     notify-send "your.host.com back online"; sleep 30s;
  else
     sleep 30s;
  fi;
done

Вам будут нужны zsh и libnotify, чтобы позволить отрывку работать. Как сценарий:

#!/usr/bin/env zsh
while; do if ping -c 1 $1; expr $? = 0; then notify-send "$1 back online"; sleep 30s; else sleep 30s; fi; done
2
задан 30.08.2013, 17:02

1 ответ

Идея выглядит правильной мне. При помощи while :; do ... можно сделать это портативным к нормальным Оболочкам Bourne. expr вызовы кажутся ненужными. Кроме того, Вы, вероятно, хотите убежать из цикла, когда хост найден.

while :; do
    if ping -c 1 $1; then
        notify-send "$1 back online"
        break
    fi
    sleep 30s
done
3
ответ дан 08.12.2019, 07:30

Теги

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