#!/usr/bin/env bash
###Function:for ping status
###Date:2013-8-18
###Author:webjin
###E-mail:webjin@qq.com
###Version:1.0
Dir="/home/www/default/"
> ${Dir}up.txt;> ${Dir}down.txt;
    for i in $(cat ${Dir}ip.txt); do
        if  ping -W 1 -c 1 ${i} &> /dev/null;then
            echo  "${i} ------ <font color=green>Up</font> <br />"  >> ${Dir}up.txt
        else
            echo  "${i} ------ <font color=red><em><b>Down</b></em></font> <br />"  >> ${Dir}down.txt
        fi
    done
Ups=$(wc -l < ${Dir}up.txt)
Downs=$(wc -l < ${Dir}down.txt)
Ps=$(cat -n ${Dir}down.txt ${Dir}up.txt)
cat > ${Dir}ping.html <<EOF
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>服务器IP-Ping状态</title>
</head>
<body>
<p style="text-align:center">以下数据生成于$(date -d today +"%Y-%m-%d %T"),将在15分钟之后重新生成一次</p>
<p>ping通的IP有${Ups}</font>个,ping不通</font>的IP有 <font color=blue><b>${Downs}</font></b>个</p>
${Ps}
</body>
</html>
EOF
###数据上传到网页服务器
#scp -P 25038 ${Dir}ping.html root@173.254.227.40:/home/www/default/ &>/dev/null;
###ping通知邮件发送功能
from_name=""
from="txjcv@163.com"
to="txjcv@163.com"
email_title=""
email_content=$(awk '{print $1}' ${Dir}down.txt)
email_subject="ping不通的服务器如下"
echo -e "To: \"${email_title}\" <${to}>\nFrom: \"${from_name}\" <${from}>\nSubject: ${email_subject}\n\n ${email_content} " | /usr/sbin/sendmail -t