将本地网络流量记录到文件中

将本地网络流量记录到文件中

我想将 Linux 中 NIC 卡的接收数据速度记录到文本文件中。最好的方法是什么(不怕使用终端)

答案1

#!/bin/bash

if [[ -z ${1} ]]; then
    echo "You must provide an interface to monitor"
    exit
fi

nic="${1}"
while true; do
    SPEED=$(cat /proc/net/dev | grep $nic |awk '{$1=$1};1' | cut -d' ' -f 2)
    TIME=$(date +%s)
    echo "$TIME,$SPEED" >> /tmp/log-bandwidth-$nic-$(date '+%Y-%m-%d')
    sleep 5
done

如果你将其创建为一个文件,bandwidth-monitor.sh那么你可以运行它并提供要监视的网络接口:

bash bandwidth-monitor.sh eno1

这将创建一个文件/tmp(您可以修改它。例如:

tail -f /tmp/log-bandwidth-eno1-2022-06-03

相关内容