[题目要求]
写一个脚本, 检测网卡流量并记录到日志, 需要按照如下格式并一分钟统计一次 (只需统计外网网卡, 网卡名称 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 1 59 | 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 "#################"
来源: http://www.bubuko.com/infodetail-3086648.html