原帖:
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