#!/bin/bash server_all_list=( \ 117.*.*.129:网关 \ 117.*.*.130:交换机 \ 117.*.*.131:交换机 \ 117.*.*.132:交换机 \ ) function sendMsg() { echo $1 cc="xiaoqiang@*.com;xiaoqiang1@*.com" curl -d "body=$1" "http://sendmail.*.*.com/smtp/smtp_noqueue.php?from=*@*.com&fromname=监控系统&subject=PING异常报警&to=*@*.com&cc=$cc&toname=%C6%EB%CA%A5%B8%A3&src=default&files=" > /dev/null } >/data0/shells/monitor_ping.log server_all_len=${#server_all_list[*]} i=0 status=1 while [ $i -lt $server_all_len ] do server_ip=$(echo ${server_all_list[$i]} | awk -F ':' '{print $1}') server_info=$(echo ${server_all_list[$i]} | awk -F ':' '{print $2}') value=`ping -c 10 -i 0.2 ${server_ip} | grep packet |awk '{print $6}' | awk -F "%" '{print $1}'` #if ping -c 2 ${server_ip} > /dev/null 2>&1 if [ $value -le 30 ] then echo "服务器${server_ip},能够Ping通!" else status=0 echo "服务器${server_ip},丢包率$value%,应用项目:${server_info}" echo "服务器${server_ip},丢包率$value%,应用项目:${server_info}" >>/data0/shells/monitor_ping.log fi let i++ done echo "状态:$status" #status=0 if [ $status -eq 0 ] then body=`cat /data0/shells/monitor_ping.log | sed -e "s/$/<br>/g"` body1=`echo $body |sed -e "s/[[:space:]]/#/g"` sendMsg $body1 fi