主机关机时发出警报

时间:2018-05-08 10:49:38

标签: bash alert zenity

我有这个bash脚本可以帮助我知道我的某些服务器何时关闭。

 #!/bin/bash
HOSTS="192.168.11.154 192.168.11.155"
COUNT=5 

pingtest(){
  for myHost in "$@"
  do
    ping -c "$COUNT" "$myHost" && return 1
  done
  return 0
}

if pingtest $HOSTS
then
  # 100% failed
zenity --warning --text="<span size=\"xx-large\">WARNING</span>\n\n\n<b>*IP*</b> is down" --title="SERVER DOWN" --ok-label="OKAY"
fi

那么,我怎么知道具体的服务器是什么? 我想交换 IP 到192.168.11.154或192.168.11.155(取决于不可用的内容)

2 个答案:

答案 0 :(得分:0)

更好地将ips存储在两个单独的变量中并调用该函数两次: -

HOSTS1="192.168.11.154"
HOSTS2="192.168.11.155"

if pingtest $HOSTS1
 //

if pingtest $HOSTS2

答案 1 :(得分:0)

#!/bin/bash

HOSTS="192.168.11.154 192.168.11.155"
COUNT=5

pingtest () {
  ping -c "$COUNT" "$1" || return 1
}

for H in $HOSTS; do
  if ! pingtest $H; then
    zenity --warning --text="<span size=\"xx-large\">WARNING</span>\n\n\n<b>${H}</b> is down" --title="SERVER DOWN" --ok-label="OKAY"
  fi
done