지난 5분 동안 얼마나 많은 콘텐츠가 업로드되었나요?

지난 5분 동안 얼마나 많은 콘텐츠가 업로드되었나요?

이더넷의 실시간 시각적 상태가 필요하지 않습니다. 지난 5분 동안 업로드된 콘텐츠의 양이 X 미만인 경우 스크립트를 실행하고 싶습니다. 그래서 일부 명령에서 번호를 얻어야 합니다. 무엇을 추천할 수 있나요?

우분투 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

관련 정보