【题目要求】
写一个脚本,检测网卡流量并记录到日志,需要按照如下格式并一分钟统计一次(只需统计外网网卡,网卡名称eth0)
2019-06-07 1:11
eth0 input: 1000bps
eth0 output: 200000bps
##################
2019-06-07 1:12
eth0 input: 1000bps
eth0 output: 200000bps
提示:使用sar -n DEV 1 59这样统计一分钟的平均网卡流量,只需要最后的平均值。换算1Byte=8bit
【核心要点】
sar命令
awk格式化输出
带宽的单位是:bit 下载速度是:byte 1Byte=8bit
100M带宽换算: 100Mbit=12.5MByte/s
【脚本】
#!/bin/bash logdir=/tmp/sar_log
file=$logdir/`date +%d%H`.log
t=`date +"%F %H:%M"` [ -d $logdir ] || mkdir -p $logdir
LANG=en
sar -n DEV | grep eth0 | grep "Average" > /tmp/sar.tmp
# exec >> file 追加到文件
exec >> file
echo "$t"
awk '{print "input:",$5*8000"bps""\n""output:",$6*8000"bps"}' /tmp/sar.tmp
echo "#################"