#!/bin/bash #------------------------------------------------------------------------------- #FileName:networkchecking #Revision:2.0 #Date:2017/09/14 #Author:XAD #Email:1793360097@qq.com #Website:http://onenice.blog.51cto.com/ #Description:checknetworkandsendmailtoXAD,wirteexecutinglog #Notes:~ #------------------------------------------------------------------------------- #copyright:2017(c)XAD #License:GPL DOMAIN1=www.baidu.com DOMAIN2=www.google.com DATE=`date"+%F%H:%M:%s"` HOST=`hostname` IPADDRESS=`ifconfigeth0|grep"inetaddr:"|awk-F[:""]+'{print$4}'` ##打印成功日志## log_info() { if[!-x/var/log/$0];then mkdir/var/log/$0 fi echo"$DATE$HOST$IPADDRESS$USERexecute$0>>$1">>/var/log/$0/success.log } ##打印错误日志## log_error() { if[!-x/var/log/$0];then mkdir/var/log/$0 fi echo"$DATE$HOST$IPADDRESS$USERexecute$0>>$1">>/var/log/$0/error.log } ##检测网络是否通畅## check_network() { ping-c2$DOMAIN1>/dev/null pingstatus1=$? echo-n$pingstatus1>/tmp/netwok-status if[$pingstatus1-eq0];then log_info"Networkto$DOMAIN1isok" else log_error"Networkto$DOMAIN1iserror" fi ping-c2$DOMAIN2>/dev/null pingstatus2=$? echo-n$pingstatus2>>/tmp/netwok-status if[$pingstatus2-eq0];then log_info"Networkto$DOMAIN2isok" else log_error"Networkto$DOMAIN2iserror" fi } ##发送警报邮件并输出发送日志## sendmail() { STATUS=`cat/tmp/netwok-status` if["$STATUS"-eq11];then echo"TIME:$DATEHOSTNAME:$HOSTIP:$IPADDRESSNetworkisnormal!"|mail-s"PleasecheckyournetworkNow!"1793360097@qq.com if[$?-eq0];then echo"$DATE$HOST$IPADDRESS$USER>>sendmailisok!">>/var/log/$0/sendmail.log else echo"$DATE$HOST$IPADDRESS$USER>>sendmailiserror!">>/var/log/$0/sendmail.log fi fi } check_network sendmail