1.sh代码
#!/bin/bash
COUNT=100 #每台服务器测试ping的次数
MAX=10 #其中最多无法ping通的次数
HOST=(#服务器列表,IP地址或者域名
115.28.155.12
119.42.149.89
)
#循环检测
for ipadd in "${HOST[@]}"
do
timing=`date +%Y/%m/%d/%H:%M:%S`
ping $ipadd -c $COUNT > 1ping.log
losspag=`grep "packet loss" 1ping.log |awk '{print $6}' |sed 's/%//g'`
if [ $losspag -ge $MAX ] ;
then
echo $timing > tmp.log
echo -n $ipadd >> tmp.log
echo -n "packet loss is more than $MAX of $COUNT">> tmp.log
cat /root/tmp.log | mail -s "$ipadd ping packet loss is more then $MAX of $COUNT" monitor@163.com
else
rm -f tmp.log
fi
done
2.cron设置
*/6 * * * * root sh /root/checkping.sh &