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 方式呈現!

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

1 則回應給 Linux 使用 speedtest CLI 測試頻寬

發表迴響

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

WordPress.com Logo

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

Twitter picture

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

Facebook照片

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

Google+ photo

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

連結到 %s