监控Linux机器网络上传下载流量的脚本

监控Linux服务器网卡流量的脚本,记录一下,备忘

#!/bin/bash

<!--more-->

ethn='ens160'

while true
do
  RX_pre=$(cat /proc/net/dev | grep $ethn | sed 's/:/ /g' | awk '{print $2}')
  TX_pre=$(cat /proc/net/dev | grep $ethn | sed 's/:/ /g' | awk '{print $10}')
  sleep 10
  RX_next=$(cat /proc/net/dev | grep $ethn | sed 's/:/ /g' | awk '{print $2}')
  TX_next=$(cat /proc/net/dev | grep $ethn | sed 's/:/ /g' | awk '{print $10}')

#  clear
  echo -e "\t RX `date +%k:%M:%S` TX"

  RX=$((${RX_next}-${RX_pre}))
  TX=$((${TX_next}-${TX_pre}))

  if [ $RX -lt 1024 ];then
    RX="${RX}B/s"
  elif [ $RX -gt 1048576 ];then
    RX=$(echo $RX | awk '{print $1/1048576/10 "MB/s"}')
  else
    RX=$(echo $RX | awk '{print $1/1024/10 "KB/s"}')
  fi

  if [ $TX -lt 1024 ];then
    TX="${TX}B/s"
  elif [ $TX -gt 1048576 ];then
    TX=$(echo $TX | awk '{print $1/1048576/10 "MB/s"}')
  else
    TX=$(echo $TX | awk '{print $1/1024/10 "KB/s"}')
  fi

  echo -e "$ethn \t $RX   $TX "

done
版权声明

本站文章、图片、视频等(除转载外),均采用知识共享署名 4.0 国际许可协议(CC BY-NC-SA 4.0),转载请注明出处、非商业性使用、并且以相同协议共享。

© 空空博客,本文链接:https://www.yeetrack.com/?p=1470