首页 > 系统服务 > 详细

shell脚本之监测指定网卡实时传输速率

时间:2019-12-25 20:21:24      阅读:115      评论:0      收藏:0      [点我收藏+]

本脚本是无意间看到网络大神编写发表的,未留存原链接,感谢提供,侵删。

 

实现原理:通过每秒读取一次/proc/net/dev动态文件,计算得出平局速度。执行格式

sh ./speedmonitor.sh eth0

 

脚本详情:

#!/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

 

shell脚本之监测指定网卡实时传输速率

原文:https://www.cnblogs.com/itbox/p/12098660.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!