Bash 主机停机时报警

Bash 主机停机时报警,bash,alert,zenity,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 -

我有这个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
#/bin/bash
HOSTS=“192.168.11.154 192.168.11.155”
计数=5
pingtest(){
对于“$@”中的myHost
做
ping-c“$COUNT”“$myHost”&返回1
完成
返回0
}
如果pingtest$HOSTS
然后
#100%失败
zenity--warning--text=“warning\n\n\n*IP*关闭”--title=“服务器关闭”--ok label=“好的”
fi
那么,我如何知道哪台特定服务器停机?
我希望将IP交换到192.168.11.154或192.168.11.155(取决于不可用的内容)

最好将IP存储在两个单独的变量中,并调用函数两次:-

HOSTS1="192.168.11.154"
HOSTS2="192.168.11.155"

if pingtest $HOSTS1
 //

if pingtest $HOSTS2
#/bin/bash
HOSTS=“192.168.11.154 192.168.11.155”
计数=5
pingtest(){
ping-c“$COUNT”$1”|返回1
}
对于H,单位为$HOSTS;做
如果!pingtest$H;然后
zenity--warning--text=“warning\n\n\n${H}已关闭”--title=“服务器已关闭”--ok label=“ok”
fi
完成
#!/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