常见的shell脚本之一键查看服务器每秒发送和接收流量
Posted 码海小虾米_
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常见的shell脚本之一键查看服务器每秒发送和接收流量相关的知识,希望对你有一定的参考价值。
一键查看服务器每秒发送和接收流量
1. 编写脚本情况分析
-
proc/net/dev文件就是提供给用户读取或更改网络适配器及统计信息的途径。
-
每秒流量的计算是由当前的总流量-上一秒的总流量
-
输入指定的时间(单位:s),可以显示指定的次数;
-
使用循环根据输入时间的显示每秒的发送和接受流量;
-
本脚本显示的网卡为ens33,其他网卡修改脚本内的ens33为其他即可。
2. 脚本代码部分
#!/bin/bash
# 统计最近10s内每秒的发送和接受流量(此脚本查看的网卡名为ens33,其他请修改即可)
read -p "请输入要查看的时间(单位:s):" input
for i in $(seq 1 $input)
do
# 上一秒的流量/s
old_in=`cat /proc/net/dev | awk '/ens33/ {print $2}'`
old_out=`cat /proc/net/dev | awk '/ens33/ {print $10}'`
# 休眠1s
sleep 1
# 下一秒的流量/s
new_in=`cat /proc/net/dev | awk '/ens33/ {print $2}'`
new_out=`cat /proc/net/dev | awk '/ens33/ {print $10}'`
# 计算每秒发送和接受的流量,结果保留2位小数
send=$(printf "%.2f%s" `awk 'BEGIN{print ('$new_out'-'$old_out')/1024}'` " KB/S")
receive=$(printf "%.2f%s" `awk 'BEGIN{print ('$new_in'-'$old_in')/1024}'` " KB/S")
echo "第${i}秒发送的流量为:${send} 接受的流量为:${receive}"
done
3. 实验测试部分
以上是关于常见的shell脚本之一键查看服务器每秒发送和接收流量的主要内容,如果未能解决你的问题,请参考以下文章
shell脚本之一键部署zookeeper集群服务,能用脚本解决的事情,绝对不手敲。
shell脚本之一键部署web服务器Nginx,日常解放双手!