イーサネットのリアルタイムの視覚状態は必要ありません。過去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
され、代わりに使用することをお勧めしますip
。ip
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