微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

shell脚本-监控网络情况

#!/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

原文地址:https://www.jb51.cc/bash/390782.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐