方法一:利用for迴圈將ping通就跳出迴圈繼續,如果不跳出就會走到列印ping失敗
#!/bin/bash
ping_success_status()
ip_list="10.0.0.23 192.168.1.1 192.168.18.2" #定義ip_list 為ip列表
for ip in $ip_list; do
ping_success_status
ping_success_status
ping_success_status #遍歷ip列表,執行函式三次
echo "$ip ping is failure!" #若執行三次函式依舊失敗,則提示ping失敗
done
方法二:將錯誤ip放到陣列裡面進行判斷是否ping失敗三次
#!/bin/bash
ip_list="10.0.0.23 192.168.1.1 192.168.18.2" #定義ip_list
for ip in $ip_list
do num=1
while [ $num -le 3 ]
doif ping -c 1 $ip > /dev/null; then
echo "$ip ping is successful."
break #遍歷ip_list,如果能ping通則提示,ip ping is successful
else
fail_count[$num]=$ip
let num++ #若不能ping通,則讓失敗ip的失敗次數+1
fidone
if [ $ -eq 3 ]
then
echo "$ ping is failure!" #判斷若失敗次數fall_count等於3次則提示此ip的ping is failure!
unset fail_count[*] #並取消變數 fall_count的函式
fidone
shell 指令碼批量檢測主機存活狀態
liunx 伺服器管理中,有時需要檢測主機的存活狀態,當主機不多的時候,可以直接使用ping 命令,當主機很多的時候直接使用ping 命令管理起來就比較麻煩了,使用shell 指令碼編寫的ping 命令檢測主機存活狀態,是乙個很好的方法。1 2 3 4 5 6 7 8 9 10 11 12 13 1...
主機存活監控
監控遠端的一台機器 假設ip為192.168.1.100 的存活狀態,當發現宕機時發一封郵件給你自己 bin bash name 南宮乘風 email heian99 163.com ip 192.168.1.100 while true do 利用ping檢查主機是否存活 ping c 4 ip ...
詳解Nginx 被動檢查伺服器的存活狀態
通過傳送定期健康檢查來監控上游組中 http 伺服器的健康狀況。nginx可以持續測試您的上游伺服器,避免出現故障的伺服器,並將恢復的伺服器優雅地新增到負載均衡組中。對於被動健康檢查,nginx會在事務發生時對其進行監控,並嘗試恢復失敗的連線。如果事務仍然無法恢復,nginx將伺服器標記為不可用並暫...