linux 监控服务器流量

 

linux 监控服务器流量

#!/bin/bash  
ethn=$1  
       
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 1  
  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 "MB/s"}')  
 else  
   RX=$(echo $RX | awk '{print $1/1024 "KB/s"}')  
 fi  
  
 if [[ $TX -lt 1024 ]];then  
   TX="${TX}B/s"  
 elif [[ $TX -gt 1048576 ]];then  
   TX=$(echo $TX | awk '{print $1/1048576 "MB/s"}')  
  else  
    TX=$(echo $TX | awk '{print $1/1024 "KB/s"}')  
  fi  
   
  echo -e "$ethn \t $RX   $TX "  
   
done 

 

posted @ 2021-04-19 16:59  RoyFans  阅读(286)  评论(0编辑  收藏  举报