如果主机重新上线,则测试脚本

如果主机重新上线,则测试脚本

例如系统: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

你会需要通知库让代码片段正常工作。脚本如下:

#!/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

答案1

我觉得这个想法不错。通过使用,while :; do ...您可以将其移植到普通的 Bourne shell。expr调用似乎没有必要。此外,您可能希望在找到主机时跳出循环。

while :; do
    if ping -c 1 $1; then
        notify-send "$1 back online"
        break
    fi
    sleep 30s
done

相关内容