监控网卡是否正常
  JiJ96DoSHEh4 2023年11月19日 16 0
#编写一个监控网卡的脚本
#1)每10分钟检测一次网卡ens32的流量
#2)如果流量为0,则重启网卡
#提示:使用sar-n DEV

#!/bin/bash

## 为了能够精确匹配关键字,需要设定语言为英语
LANG=en

## 检查sar命令是否存在,不存在需要安装对应的包
if ! which sar &>/dev/null
then
        echo "没有sar命令,使用yum安装"
        ## 通过安装sysstat包来安装sar命令
        yum install -y sysstat &>/dev/null || (echo "sar命令无法安装";exit 1)
fi

## 将eth32网卡1分钟的流量数据写入临时文件/tmp/ens32.log
sar -n DEV 1 60 |grep ens32 > /tmp/ens32.log

## n1为网卡接收的数据量
## n2为网卡发送的数据量

n1=`grep -i average /tmp/ens32.log | awk '{print $5}' |sed 's/\. //g'`
n2=`grep -i average /tmp/ens32.log | awk '{print $6}' |sed 's/\. //g'`

## 删除临时文件
rm -f /tmp/ens32.log

## 当接收和发送的数据量全部为0,说明网卡有问题了,需要重启网卡
if [ "$n1" == "000" ] && [ "$n2" == "000" ]
then
        echo "网卡ens32有问题,需要重启网卡"
        ifdown ens32 && ifup ens32
else
        echo "网卡ens32正常"
fi

<<'COMMENT'
关键知识点总结:
1)临时文件可以给我们带来很大便利,但不要忘记在脚本结束时删除
2)用if which xxx来判断某个命令在不在
3)使用 || 或者&&时,可以用()将多条命令作为一个整体
COMMENT
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月19日 0

暂无评论

推荐阅读
  JiJ96DoSHEh4   2023年11月13日   20   0   0 分隔符字段sed
  JiJ96DoSHEh4   2023年11月13日   146   0   0 上传文件列表sed
  JiJ96DoSHEh4   2023年11月19日   14   0   0 bashbcsed
JiJ96DoSHEh4
最新推荐 更多