常见的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 脚本案例之一键安装JDK

shell脚本之一键部署zookeeper集群服务,能用脚本解决的事情,绝对不手敲。

常用的shell脚本之一键部署DNS服务正向解析

shell脚本之一键部署web服务器Nginx,日常解放双手!

shell脚本之一键部署PXE远程安装服务,将解放双手进行到底!

shell 脚本之一键部署安装 Nginx