天天看點

lua 擷取帶寬

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

<code>#!/usr/bin/lua</code>

<code>local</code> <code>socket = require(</code><code>"socket"</code><code>)</code>

<code>local</code> <code>name = os.tmpname()</code>

<code>os.execute([[</code><code>ifconfig</code> <code>| </code><code>head</code> <code>-1 | </code><code>cut</code> <code>-d</code><code>' '</code> <code>-f1 &gt;]]..name)</code>

<code>local</code> <code>readName = io.</code><code>open</code><code>(name, </code><code>"r"</code><code>)</code>

<code>local</code> <code>realName = readName:</code><code>read</code><code>(</code><code>"*l"</code><code>)</code>

<code>local</code> <code>file</code> <code>= io.</code><code>open</code><code>(</code><code>"/sys/class/net/"</code><code>..realName..</code><code>"/statistics/tx_bytes"</code><code>,</code><code>"r"</code><code>)</code>

<code>local</code> <code>tx1 = </code><code>file</code><code>:</code><code>read</code><code>(</code><code>"*l"</code><code>)</code>

<code>socket.</code><code>sleep</code><code>(1)</code>

<code>file</code><code>:seek(</code><code>"set"</code><code>)</code>

<code>local</code> <code>tx2 = </code><code>file</code><code>:</code><code>read</code><code>(</code><code>"*l"</code><code>)</code>

<code>local</code> <code>mb = (tx2-tx1)*8</code><code>/1024/1024</code>

<code>print(math.ceil(mb)..</code><code>"Mbps"</code><code>)</code>

<code>file</code><code>:close()</code>

<code>readName:close()</code>

<code>os.remove(name)</code>

本文轉自 Art_Hero 51CTO部落格,原文連結:http://blog.51cto.com/curran/1392498,如需轉載請自行聯系原作者

上一篇: salt-master
下一篇: Lua smtp

繼續閱讀