shell脚本-监控网络情况

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本-监控网络情况相关的知识,希望对你有一定的参考价值。

#!/bin/bash
# -------------------------------------------------------------------------------
# FileName:    networkchecking
# Revision:    2.0
# Date:        2017/09/14
# Author:      XAD
# Email:       [email protected]
# Website:     http://onenice.blog.51cto.com/
# Description: check network and sendmail to XAD , wirte executing log
# Notes:       ~
# -------------------------------------------------------------------------------
# Copyright:   2017(c)XAD
# License:     GPL

DOMAIN1=www.baidu.com
DOMAIN2=www.google.com
DATE=`date "+%F %H:%M:%S"`
HOST=`hostname`
IPADDRESS=`ifconfig eth0| grep "inet addr:" | awk -F[:" "]+ ‘{print $4}‘`

##打印成功日志##
log_info()
{
    if [ ! -x /var/log/$0 ];then
        mkdir /var/log/$0
    fi
        echo "$DATE $HOST $IPADDRESS $USER execute  $0 >> $1" >> /var/log/$0/success.log
}

##打印错误日志##
log_error()
{
    if [ ! -x /var/log/$0 ];then
        mkdir /var/log/$0
    fi
        echo "$DATE $HOST $IPADDRESS $USER execute $0 >> $1" >>/var/log/$0/error.log
}

##检测网络是否通畅##
check_network()
{
    ping -c 2 $DOMAIN1 > /dev/null
    pingstatus1=$?
    echo -n $pingstatus1 > /tmp/netwok-status
    if [ $pingstatus1 -eq 0 ];then
        log_info "Network to $DOMAIN1 is ok"
    else
        log_error "Network to $DOMAIN1 is error"
    fi
    
    ping -c 2 $DOMAIN2 > /dev/null
    pingstatus2=$?
    echo -n $pingstatus2 >> /tmp/netwok-status
    if [ $pingstatus2 -eq 0 ];then
        log_info "Network to $DOMAIN2 is ok"
    else
        log_error "Network to $DOMAIN2 is error"
    fi
}

##发送警报邮件并输出发送日志##
sendmail()
{
    STATUS=`cat /tmp/netwok-status`
    if [ "$STATUS" -eq 11 ]; then
        echo "TIME:$DATE HOSTNAME:$HOST IP:$IPADDRESS Network is normal! " | mail -s "Please check your network now!" [email protected]
        if [ $? -eq 0 ];then
            echo "$DATE $HOST $IPADDRESS $USER >> sendmail is ok !" >> /var/log/$0/sendmail.log
        else
            echo "$DATE $HOST $IPADDRESS $USER >> sendmail is error !" >> /var/log/$0/sendmail.log
        fi
fi
}

check_network
sendmail


本文出自 “TOP-ONE” 博客,请务必保留此出处http://onenice.blog.51cto.com/13201315/1965399

以上是关于shell脚本-监控网络情况的主要内容,如果未能解决你的问题,请参考以下文章

Linux shell 脚本监控cpu,内存,硬盘,网络,是否存活

shell脚本监控系统负载CPU和内存使用情况

shell脚本监控CPU脚本

常用的主机监控Shell脚本

shell脚本监控Linux系统的登录情况

shell监控脚本,不考虑多用户情况