码迷,mamicode.com
首页 > 系统相关 > 详细

shell脚本-监控网络情况

时间:2017-09-14 23:26:15      阅读:279      评论:0      收藏:0      [点我收藏+]

标签:脚本   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: 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!" 1793360097@qq.com
        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脚本-监控网络情况

标签:脚本   shell   监控网络并   

原文地址:http://onenice.blog.51cto.com/13201315/1965399

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!