過去5分間にどれだけのコンテンツがアップロードされましたか?

過去5分間にどれだけのコンテンツがアップロードされましたか?

イーサネットのリアルタイムの視覚状態は必要ありません。過去5分間にアップロードされたコンテンツの量がX未満の場合は、スクリプトを実行したいと思います。したがって、いくつかのコマンドから番号を取得する必要があります。何をお勧めできますか?

Ubuntu 14.04を使用してください。

答え1

Linuxでは、興味のある方向に応じて読み込む/sys/class/net/<interface>/tx_bytesことが、インターフェイスで受信されたバイト数と送信されたバイト数のカウンタを取得するための良い方法です。/sys/class/net/<interface>/rx_bytesこれらのカウンタはすべてのインターフェイスで使用できますが、/proc/net/devより多くの解析を実行する必要があります。この値を振替の開始前と 5 分後に再度読み込み、減算すると 5 分以内に振替額を取得できます。

答え2

ifconfig <interface>特定のインターフェイスのスループットを提供します。

例えば、

root@trinity:~# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 28:92:4a:32:0c:43
          inet addr:192.168.1.10  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::2a92:4aff:fe32:c43/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1554100056 errors:0 dropped:3528 overruns:0 frame:15941
          TX packets:570492690 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:2186365577866 (1.9 TiB)  TX bytes:180850207310 (168.4 GiB)
          Interrupt:18

TXバイトビットを読んで計算してみてください。違いを計算するには、一部のファイルでそれらを追跡する必要があります。

このコマンドは廃止ifconfigされ、代わりに使用することをお勧めしますipip

root@trinity:~# ip -s link ls  eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT qlen 1000
    link/ether 28:92:4a:32:0c:43 brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast
    2186366161514 1554101939 0       3197    15941   9994871
    TX: bytes  packets  errors  dropped carrier collsns
    180850392034 570493984 0       0       0       0

関連情報