10. 获取网络接口使用情况脚本
1. 脚本内容¶
vim net.py
#!/usr/bin/python
import time
import sys
if len(sys.argv) > 1:
INTERFACE = sys.argv[1]
else :
INTERFACE = 'eth0'
STATS = []
print( 'Interface:' ,INTERFACE)
def rx():
ifstat = open ( '/proc/net/dev' ).readlines()
for interface in ifstat:
if INTERFACE in interface:
stat = float(interface. split ()[1])
STATS[0:] = [stat]
def tx():
ifstat = open ( '/proc/net/dev' ).readlines()
for interface in ifstat:
if INTERFACE in interface:
stat = float(interface. split ()[9])
STATS[1:] = [stat]
print( 'In Out')
rx()
tx()
while True:
time . sleep (1)
rxstat_o = list(STATS)
rx()
tx()
RX = float(STATS[0])
RX_O = rxstat_o[0]
TX = float(STATS[1])
TX_O = rxstat_o[1]
RX_RATE = round((RX - RX_O) /1024/1024 ,3)
TX_RATE = round((TX - TX_O) /1024/1024 ,3)
print( RX_RATE , 'MB ' ,TX_RATE , 'MB')
2. 测试¶
python net.py
root@4c16g:/service/python# python net.py
Interface: eth0
In Out
0.006 MB 0.006 MB
0.003 MB 0.004 MB
0.013 MB 0.013 MB
0.005 MB 0.01 MB
0.004 MB 0.004 MB
0.002 MB 0.003 MB
0.01 MB 0.009 MB
0.001 MB 0.002 MB
0.012 MB 0.01 MB
0.008 MB 0.003 MB
0.004 MB 0.005 MB
0.001 MB 0.003 MB
0.005 MB 0.008 MB
0.003 MB 0.008 MB
0.003 MB 0.003 MB
0.001 MB 0.002 MB
0.009 MB 0.008 MB
...
最后更新:
2022-02-18 08:36:36