На этот вопрос уже есть ответ здесь:
Можно ли получить RX / TX из изменения время, как 1 минута, через командную строку?
Да, много статистических данных, доступных для различных объектов в системе, относительно того, когда она запустилась. Это до пользователя для здания на той информации для извлечения то, в чем они нуждаются. Для Вашего требования это - просто вопрос замечания значений в запуске и конце интервала времен и затем вычислении различия.
Принимая во внимание, что, я обычно делаю это с c программой, в этом случае я использовал сценарий Python, смотрящий на примитивные данные сетевого интерфейса в, например, cat /proc/net/dev
:
$ cat /proc/net/dev
Inter-| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
br0: 863035125 16571440 0 0 0 0 0 0 9122070503 59231752 0 0 0 0 0 0
virbr0-nic: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
lo: 12444 170 0 0 0 0 0 0 12444 170 0 0 0 0 0 0
enp1s0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
lxcbr0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
virbr0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
enp3s0: 1095035285 16571440 0 0 0 0 0 3023 9121922741 59230702 0 0 0 0 0 0
Сценарий:
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
import re
import time
previous_rx = 0
previous_tx = 0
while True:
time.sleep(60)
f = open('/proc/net/dev', 'r')
data = f.readlines()
for item in data:
match=re.search(' br0:\s',item)
if match is not None:
if_data = ' '.join(item.split())
if_data = if_data.split(' ')
current_rx = if_data[2]
current_tx = if_data[10]
diff_rx = float(current_rx) - float(previous_rx)
diff_tx = float(current_tx) - float(previous_tx)
diff = diff_rx + diff_tx
print "rx packets: "+str(diff_rx)+" : tx packets: "+str(diff_tx)+" : Total packets: "+str(diff)
previous_rx = current_rx
previous_tx = current_tx
И так мой сетевой интерфейс, br0: пакеты в минуту были:
rx packets: 16571260.0 : tx packets: 59231628.0 : Total packets: 75802888.0 <<< My script doesn't initialize properly.
rx packets: 14.0 : tx packets: 7.0 : Total packets: 21.0
rx packets: 8.0 : tx packets: 7.0 : Total packets: 15.0
rx packets: 10.0 : tx packets: 7.0 : Total packets: 17.0
rx packets: 8.0 : tx packets: 7.0 : Total packets: 15.0
rx packets: 115.0 : tx packets: 80.0 : Total packets: 195.0
rx packets: 31.0 : tx packets: 22.0 : Total packets: 53.0
rx packets: 194.0 : tx packets: 552.0 : Total packets: 746.0
rx packets: 9.0 : tx packets: 7.0 : Total packets: 16.0