原帖:
http://bbs.linuxtone.org/redirect.php?tid=3325&goto=lastpost
腳本借助了
撫琴煮酒 的
測試局域網內主機是否alive的小腳本
http://bbs.linuxtone.org/thread-2065-1-1.html
新加入了飛信免費發短信API接口(可以自己給自己發短信,完全免費)
把ping不同的ip地址寫到一個
文件里面,并去判斷這個文件是否為空來實現報警功能
#!/bin/bash
cat /dev/null >/usr/local/sbin/51edu.txt
for n in {66..75}; do
host=192.168.0.$n
ping -c5 $host &>/dev/null
if [ $? = 0 ]; then
echo "$host is up" >/dev/null
else
echo "$host" >>/usr/local/sbin/51edu.txt
if [[ -s /usr/local/sbin/51edu.txt ]];then
DOWN=`cat /usr/local/sbin/51edu.txt|paste -s -d ','`
curl "http://sms.api.bz/fetion.php?username=1501*******&password=******& amp;sendto=1501*******&message=$DOWN服務器down機,請盡快處理!"
fi
fi
done
更簡潔:
#!/bin/bash
#Checks to see if hosts 192.168.100.1-192.168.100.16 are alive
#$?輸出命令退出代碼:0為命令正常執行,1-255為有出錯
for n in {1..16}; do
host=192.168.100.$n
ping -c2 $host &>/dev/null
if [ $? = 0 ]; then
echo "$host is UP"
else
echo "$host is DOWN"
curl "http://sms.api.bz/fetion.php?username=135****&password=***&sendto=135***&message=$host服務器down機,請盡快處理!"
fi
done