我想将 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