Linux快速检测网卡流量Shell脚本。小编来告诉你更多相关信息。Linux快速检测网卡流量Shell脚本今天分享:Linux快速检测网卡流量Shell脚本方面的讲解,下面来一起了解一下吧。这个脚本的
Linux快速检测网卡流量Shell脚本。小编来告诉你更多相关信息。
Linux快速检测网卡流量Shell脚本
今天分享:Linux快速检测网卡流量Shell脚本方面的讲解,下面来一起了解一下吧。
这个脚本的功能是检测网卡流量,并按规定格式记录在日志中。
具体来说,它做了以下几个步骤:
- 首先,它设置了语言为英文,以保证输出结果是英文,否则会出现bug。
- 然后,它定义了一个logfile变量,用来存储日志文件的路径和名称。日志文件的名称是当天的日期,例如
29.log
。 - 接着,它使用exec命令将后面执行的命令结果输出重定向到logfile日志中。
- 然后,它使用date命令输出当前的日期和时间,格式为
2023-04-14 13:46
。 - 接下来,它使用sar命令统计网卡ens33的流量,单位为kb/s。sar命令的参数是1和59,表示每隔1秒采样一次,共采样59次。然后,它使用grep命令过滤出Average和ens33这两行,表示平均值和网卡名称。最后,它使用awk命令格式化输出结果,将流量单位转换为bps,并按照要求的格式输出网卡名称、输入流量和输出流量。
- 最后,它输出一行分隔符
####################
,表示一次记录的结束。 - 这个脚本使用了一个无限循环while : do … done,因此会一直运行下去。由于执行sar命令需要59秒,因此不需要sleep命令来延迟执行。这样就实现了每分钟记录一次网卡流量的功能。
#!/bin/bash# 检测网卡流量,并按规定格式记录在日志中# 规定一分钟记录一次oo# 日志格式如下所示:# 2023-10-29 13:46while :do # 设置语言为英文,保障输出结果是英文,否则会出现bugai LANG=en logfile=/tmp/`date +%d`.log # 将下面执行的命令结果输出重定向到logfile日志中 exec >> $logfile date +\"%F %H:%M\" # sar命令统计的流量单位为kb/s,日志格式为bps,因此要*1000*8 sar -n DEV 1 59|grep Average|grep ens33|awk \'{print $2,\"\\t\",\"input:\",\"\\t\",$5*1000*8,\"bps\",\"\\n\",$2,\"\\t\",\"output:\",\"\\t\",$6*1000*8,\"bps\"}\' echo \"####################\" # 因为执行sar命令需要59秒,因此不需要sleepdone
输出结果:
sar命令
Linux sar命令是一个用来收集、报告或保存系统活动信息的工具。
它可以从多个方面对Linux系统的活动进行报告,比如文件的读写情况、系统调用的使用情况、磁盘I/O、CPU利用率、内存使用状况和进程活动有关的信息等。
它的基本语法是:
sar [options] [-o file]
其中,options是指定要查看的资源类型,例如
- -u表示CPU
- -r表示内存
- -d表示磁盘等
- -o file是指定将结果以二进制格式保存到文件中
Linux快速检测网卡流量Shell脚本。小编来告诉你更多相关信息。
Linux快速检测网卡流量Shell脚本
- -f file是指定从文件中读取结果
- interval是指定采样间隔
- count是指定采样次数
例如,如果要查看每秒钟一次的CPU使用情况,总共查看三次,可以使用以下命令:
sar -u 1 3
如果要查看9月26日的内存使用情况,可以使用以下命令:
sar -r -f /var/log/sa/sa26
如果要查看网络设备的流量情况,可以使用以下命令:
sar -n DEV
以上是网关于Linux快速检测网卡流量Shell脚本的详细内容了,网希望能给您带来帮助!
本站部分文章来自网络或用户投稿,如无特殊说明或标注,均为本站原创发布。涉及资源下载的,本站旨在共享仅供大家学习与参考,如您想商用请获取官网版权,如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。