Linux 流量统计

# ifconfig | grep "RX bytes" | awk -F'[: ]+' '{sum+=$4;sum+=$9};END{print sum, sum/1024/1024/14/12/60/60}'

298734852820428 471.058

ifconfig
输出网络接口的信息,其中包括接收(RX bytes)和发送(TX bytes)的字节数。

grep "RX bytes"
从 ifconfig 的输出中筛选包含 "RX bytes" 的行。

awk -F'[: ]+'

-F'[: ]+' 设置分隔符为冒号或一个或多个空格。
处理每行数据:
$4:表示接收的字节数(RX bytes)。
$9:表示发送的字节数(TX bytes)。
sum+=$4; sum+=$9:将 RX 和 TX 的字节数累计到 sum。
END{print sum, sum/1024/1024/14/12/60/60}

在 awk 处理完所有行后执行 END 块:
sum:输出累计的总字节数。
sum/1024/1024/14/12/60/60:
将总字节数转换为 MB:sum / 1024 / 1024。
假设统计周期是 14 天,计算每秒的平均速率:
转换为秒:14 天 × 12 小时 × 60 分钟 × 60 秒。

结果含义
sum:所有接口的接收和发送的字节总和。
sum/1024/1024/14/12/60/60:将总字节数按假定的 14 天周期计算出平均的网络流量速率(单位:MB/s)。

输出解析

    1. 298734852820428
      这是所有网络接口的接收字节数 (RX bytes) 和发送字节数 (TX bytes) 的总和,单位为字节(Bytes)。

    2. 471.058
      这是按 14 天时间周期计算的平均网络流量速率,单位为 MB/s(每秒兆字节)。

  

posted @ 2025-01-15 10:18  LB_运维技术  阅读(37)  评论(0)    收藏  举报