linux 统计网卡流量小脚本

简介:

#!/usr/bin/python
#
#       zhaoyun
#
#

import re,time,sys,string


file = "/proc/net/dev"

def get_eth(eth):
        ethx = []
        for i in eth.split(','):
                ethx.append(i)

        return ethx

def get_data(ethx):
        f    = open(file,"r").readlines()
        for i in f:
                r =  re.findall(r"%(ethx)s:.*." % vars(),i)
                if r:
                        a =  "".join(r).split()
                        input   =  a[0].split(':')[1:]
                        for input_value in input:
                                input = int(input_value)
                        output  =  int(a[8])
                        return input,output

def get_data_value(eth):
        data = []
        for ethx in eth:
                data1 = get_data(ethx)
                data.append(data1)
        return data


def count_value_input(data,n,l):
        count = 1
        for i in data:
                if count == n:
                        try:
                                for inp in i:
"1.py" 125L, 2227C written                                                                                                                           3,2-8         Top

        for i in range(1,len(dataa)+1):
                inp1 = count_value_input(dataa,i,i)
                inp2 = count_value_input(datab,i,i)
                print_(inp1,inp2,"input",i,eth)
                out1 = count_value_output(dataa,i,i)
                out2 = count_value_output(datab,i,i)
                print_(out1,out2,"output",i,eth)


def get_param(para,number):
        c = 0
        count = 0
        p = []
        try:
                for i in sys.argv:
                        if i == para:
                                p.append(sys.argv[c+1])
                                count+=1
                        c +=1
                        if count == int(number):
                                return string.join(p)

        except Exception:
                return i+' Parameter Error'

def help_():
        print '''
        python %s -T 1 -I eth0,eth1,lo  
        ''' %(sys.argv[0])


eth  = get_param("-I",1)
Time = get_param("-T",1)

if eth and Time:
        try:
                Time = int(Time)
        except Exception:
                print "Time error"
                sys.exit(2)
        start_(eth,Time)
else:
        help_()

 

 

 

使用方法:

#python 1.py -T 1 -I eth0,eth1
eth0    input   :18854
eth0    output  :1844
eth1    input   :836
eth1    output  :836

 

 


本文转自zhaoyun00 51CTO博客,原文链接:http://blog.51cto.com/zhaoyun/1232740


相关文章
|
25天前
|
Linux Shell
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
78 1
|
25天前
|
存储 传感器 运维
linux系统资源统计工具
【4月更文挑战第1天】Linux系统监控工具如dstat、htop、glances、vmstat、top、iostat、mpstat、sar和atop,用于跟踪CPU、内存、磁盘I/O、网络和进程性能。这些工具提供实时、交互式和历史数据分析,助力管理员优化系统性能和故障排查。例如,dstat是vmstat等工具的增强版,htop提供彩色界面的进程管理,而atop则结合了多种功能并记录历史数据。
28 5
linux系统资源统计工具
|
28天前
|
Linux Shell Python
Linux执行Python脚本
Linux执行Python脚本
27 1
|
2天前
|
Ubuntu Linux
Linux(Ubuntu)系统临时IP以及静态IP配置(关闭、启动网卡等操作)
请注意,以上步骤是在临时基础上进行配置的。如果要永久保存静态IP地址,通常还需要修改 `/etc/network/interfaces`文件,以便在系统重启后保持配置。同时,确保备份相关配置文件以防止出现问题。
13 1
|
4天前
|
Linux Shell Android开发
自动化脚本之GPIO/LED相关适用于Android/Linux
自动化脚本之GPIO/LED相关适用于Android/Linux
13 0
|
19天前
|
监控 Linux
|
20天前
|
域名解析 监控 网络协议
Linux网卡与IP地址:通往网络世界的通行证 🌐
探索Linux网卡与IP地址关系,理解网卡作为网络通信的关键。Linux网卡需配置IP地址以实现唯一标识、通信、路由、安全管理和网络服务。无IP地址时,网卡在特定情况如局域网服务、网络监控、无线认证和网络启动可有限工作,但通用功能受限。配置IP地址通常通过`ifconfig`(传统)或`ip`(现代)命令,永久配置需编辑网络配置文件。配置错误如IP冲突、子网掩码错误、默认网关和DNS配置不当可能导致服务中断、网络拥堵、安全漏洞和数据丢失。重视网络配置的正确与安全至关重要。
Linux网卡与IP地址:通往网络世界的通行证 🌐
|
24天前
|
Ubuntu Unix Linux
【Linux/Ubuntu】Linux/Ubuntu运行python脚本
【Linux/Ubuntu】Linux/Ubuntu运行python脚本
|
25天前
|
Shell Linux
Linux的shell入门教程shell脚本入门教程
Linux的shell入门教程shell脚本入门教程
16 0
|
25天前
|
Linux Shell
Linux脚本获取输入参数判断文件还是文件路径
Linux脚本获取输入参数判断文件还是文件路径
12 4