用shell 写流量监控脚本
时间: 2024-05-10 09:15:14 浏览: 5
以下是一个简单的使用shell编写的流量监控脚本:
```shell
#!/bin/bash
# 设置监控的网络接口
INTERFACE="eth0"
# 获取当前时间
TIME=$(date +%s)
# 获取接收和发送的字节数
RX_BYTES=$(cat /sys/class/net/$INTERFACE/statistics/rx_bytes)
TX_BYTES=$(cat /sys/class/net/$INTERFACE/statistics/tx_bytes)
# 等待1秒钟
sleep 1
# 获取接收和发送的字节数
NEW_RX_BYTES=$(cat /sys/class/net/$INTERFACE/statistics/rx_bytes)
NEW_TX_BYTES=$(cat /sys/class/net/$INTERFACE/statistics/tx_bytes)
# 计算每秒钟的接收和发送速度
RX_SPEED=$((NEW_RX_BYTES - RX_BYTES))
TX_SPEED=$((NEW_TX_BYTES - TX_BYTES))
# 输出结果
echo "$TIME RX_SPEED: $RX_SPEED bytes/s TX_SPEED: $TX_SPEED bytes/s"
```
使用方法:
1. 将以上代码保存为一个文件,例如`monitor.sh`;
2. 通过`chmod +x monitor.sh`命令将脚本变成可执行文件;
3. 在终端中执行`./monitor.sh`命令,即可开始监控流量。
注意:上述脚本中只监控了一个网络接口,如果需要监控多个接口,可以将`INTERFACE`变量设置为一个数组,并在脚本中使用循环来遍历每个接口。