zoukankan      html  css  js  c++  java
  • shell监控网卡状态,故障时自动重启网卡

     
    今天朋友找我写个监控网卡状态的脚本,要求在系统网卡挂了可以自己启动起来,这个要求是不是很bt,我考虑了半天,简单的写了个shell脚本来监控,实现原理是使用ping来测试网络连通性,如果不通就重启网卡,当然我这个脚本还需要再改进下,比如1分钟之后还是不通再重启网卡,还有重启网卡后还要验证下网络是否是通了,这些其实可以交给大家去修改了.
      当时为了针对他服务器情况,登录上去查看了下,发现日志里有如下的报告:
    点击查看原图
    看来他服务器网卡真有问题,好吧,来看脚本吧.
    脚本内容:
    vi check_network.sh
     

    #!/bin/bash
    date="`date '+%Y-%m-%d %H:%M:%S'`"
    ip="173.208.x.x"
    nic="eth0"
    lost_rate=`ping -c 8 -w 8 $ip | grep 'packet loss'
    | awk -F'packet loss' '{ print $1 }'
    | awk '{ print $NF }' | sed 's/%//g'`
    if [ $lost_rate -eq 0 ]
    then
    echo "network_ok $date $ip $nic" >>/root/network_ok.log
    elif [ $lost_rate -le 100 ]
    then
    #echo "network_error $date $ip $nic"  //输出到窗口,因为不需要所以屏蔽了
    #else
    echo "network_error $date $ip $nic" >>/root/network_error.log
    service network restart
    fi

     
     
    chmod +x check_network.sh
    然后在计划任务里添加
    */3 * * * * /bin/sh /opt/check_network.sh
     
    重启crond任务后,然后再创建
    network_ok.log
    network_error.log
    这两个文件来查看网卡正常和有问题是什么时候了.
  • 相关阅读:
    SSD
    NMS---非极大值抑制
    检测评价函数 IOU
    Ground Truth
    耿建超英语语法---状语从句
    联合索引创建时候的排序规则
    order by limit的原理
    mysql事务四种隔离级别
    为什么 Redis 快照使用子进程
    MYSQL查询~ 存在一个表而不在另一个表中的数据
  • 原文地址:https://www.cnblogs.com/luckyall/p/8094366.html
Copyright © 2011-2022 走看看