黑帽联盟

 找回密码
 会员注册
查看: 1125|回复: 0
打印 上一主题 下一主题

[脚本语言] shell监控网卡状态,故障时自动重启网卡

[复制链接]
yun 黑帽联盟官方人员 

920

主题

37

听众

1364

积分

超级版主

Rank: 8Rank: 8

  • TA的每日心情
    奋斗
    2019-10-18 11:20
  • 签到天数: 678 天

    [LV.9]以坛为家II

    本帖最后由 yun 于 2017-1-27 19:06 编辑

    之前朋友找我写个监控网卡状态的脚本,要求在系统网卡挂了可以自己启动起来,这个要求是不是很bt,我考虑了半天,简单的写了个shell脚本来监控,实现原理是使用ping来测试网络连通性,如果不通就重启网卡,当然我这个脚本还需要再改进下,比如1分钟之后还是不通再重启网卡,还有重启网卡后还要验证下网络是否是通了,这些其实可以交给大家去修改了.

    当时为了针对他服务器情况,登录上去查看了下,发现日志里有如下的报告:
    shell脚本监控网卡
    看来他服务器网卡真有问题,好吧,来看脚本吧.

    脚本内容:
    vi check_network.sh
    1. #!/bin/bash
    2. date="`date '+%Y-%m-%d %H:%M:%S'`"
    3. ip="173.208.x.x"
    4. nic="eth0"
    5. lost_rate=`ping -c 8 -w 8 $ip | grep 'packet loss' \
    6.                 | awk -F'packet loss' '{ print $1 }' \
    7.                 | awk '{ print $NF }' | sed 's/%//g'`

    8. if [ $lost_rate -eq 0 ]
    9. then
    10. echo "network_ok $date $ip $nic" >>/root/network_ok.log
    11. elif [ $lost_rate -le 100 ]
    12. then
    13. echo "network_error $date $ip $nic"
    14. else
    15. echo "network_error $date $ip $nic" >>/root/network_error.log
    16. service network restart
    17. fi
    复制代码
    chmod +x check_network.sh
    然后在计划任务里添加
    */3 * * * * /bin/sh /root/soft_shell/check_network.sh

    重启crond任务后,然后再创建
    network_ok.log
    network_error.log
    这两个文件来查看网卡正常和有问题是什么时候了.

    帖子永久地址: 

    黑帽联盟 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
    2、本站所有主题由该帖子作者发表,该帖子作者与黑帽联盟享有帖子相关版权
    3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和黑帽联盟的同意
    4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
    5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
    6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
    7、黑帽联盟管理员和版主有权不事先通知发贴者而删除本文

    您需要登录后才可以回帖 登录 | 会员注册

    发布主题 !fastreply! 收藏帖子 返回列表 搜索
    回顶部