我在网上找了一圈,大多都是在讲如何实时查看端口流量,无法得出统计的具体值。遂自己编了一个脚本,现在分享给大家,供大家参考。
我们需要安装iftop
,而nginx
为可选安装项,取决于你是否想将其输出为直观的网页。
yum install iftop
接下来是脚本部分。
#!/bin/bash
cd /tmp
while true
do
cat /usr/share/nginx/html/index.html | cut -d M -f1 > portsum #加载数据并释放存储空间
iftop -nNtP -s 60 2>/dev/null | grep [你想监听的端口号] | cut -d b -f4 | sed 's/ //g' | grep B | sed -e '/Cumulative/d' > port
cat port | sed -e '/KB/d' | sed -e '/MB/d' | cut -d B -f1 | awk '{sum+=$1};END {print sum/1000000}' >> portsum
cat port | grep KB | cut -d K -f1 | awk '{sum += $1};END {print sum/1000}' >> portsum
cat port | grep MB | cut -d M -f1 | awk '{sum += $1};END {print sum}' >> portsum
cat portsum | awk '{sum+=$1};END {print sum "MB"}' > /usr/share/nginx/html/index.html #简单示范一下
done
如果你不想输出为html,将其改为任意文件即可。
我们在使用时,只需要将脚本存入任意文件,然后在/etc/rc.local
中添加以下条目,重启即可。
nohup [脚本存放位置] &