Linux 使用 speedtest CLI 測試頻寬

之前寫過 speedtest 測試頻寬

比較麻煩的是,每次都要手動測試,而且沒有留下歷史紀錄,事實上,SpeedTest 有用 python 寫一個 command 的測試

https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest_cli.py

使用 Apache 授權

image

需要先安裝 python

image

下載 speedtest 的 command line script

wget -O /root/speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest_cli.py

chmod 755 /root/speedtest-cli

image

手動執行 command line 測試頻寬

image

接下來就要發揮 Linux shell script 的 威力,執行 speedtest command line,將結果產出到文字檔,並透過 Apache Web Server 分享【如果有安全上的疑慮,可以加個 ID/password 的保護】,最後再使用 gnuplot 化成圖型,同樣以 Apache Web Server 分享

shell script 如下

image

#!/bin/bash
rpm -q python || yum install python -y

test -f /root/speedtest-cli || ( wget -O /root/speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest_cli.py ; chmod 755 /root/speedtest-cli )

/root/speedtest-cli > /tmp/$$

DOWNLOAD=$(grep ‘^Download’ /tmp/$$)
UPLOAD=$(grep ‘^Upload’ /tmp/$$)

echo -n “$(date +%H:%M:%S) " >> /var/www/html/bandwidth_history.txt
echo -n $DOWNLOAD >> /var/www/html/bandwidth_history.txt
echo -n " " >> /var/www/html/bandwidth_history.txt
echo $UPLOAD >> /var/www/html/bandwidth_history.txt

# plot the data
gnuplot – &> /dev/null << EOF
set term png crop
set output ‘/var/www/html/bandwidth_history.png’
set xdata time
set timefmt ‘%H:%M:%S’
set xlabel ‘time’
set format x ‘%H:%M’
set xtics rotate
set ylabel ‘… Bandwidth …’
plot [] [0:] \
‘/var/www/html/bandwidth_history.txt’ u 1:3 smooth csplines t ‘Download’ with lines, \
‘/var/www/html/bandwidth_history.txt’ u 1:6 smooth csplines t ‘Upload’ with lines
EOF

rm /tmp/$$

安裝 Apache Web Server,並啟動服務

systemctl start httpd

systemctl enable httpd

image

將 shell script 加入排程

image

開 Browser 觀察

image

<html>
<h1>Bandwidth Charts</h1>
<a href="/bandwidth_history.txt">Bandwidth history.txt</a>
<a href="/bandwidth_history.png">Bandwidth history.png</a>
</html>

image

文字形式:

image

圖型方式呈現:

image

這樣就能自動執行 speedtest,並且留下文字及圖型的 output,以 Apache Web Server 方式呈現!

廣告
本篇發表於 Bookmark, CentOS 6, CentOS 7, 網路, Linux, RHEL 6, RHEL 7。將永久鏈結加入書籤。

One Response to Linux 使用 speedtest CLI 測試頻寬

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s