下午好,
有没有软件可以监控我们的宽带质量?我们的 dsl 互联网连接每天都会断线几次,通常只持续很短的时间,但有时会持续更长时间。我正在与我们的服务提供商合作,试图找出问题所在,他们派了一名技术人员,但我想让技术人员更详细地了解断线的频率和时间。我们确实有一家新的供应商,他们更认真地对待这个问题,但在出现这个问题几年后,我想向他们提供更多信息,说明断线的严重程度。他们当然可以知道我什么时候打电话,什么时候我们外出,但他们没有表示他们有记录,尽管我已经问过了。谢谢。
答案1
您可以轻松监控下载速度,无需安装任何东西。您可以使用wget
它从速度测试网站下载文件,并根据大小和时间计算速度:
#!/bin/bash
a=$(wget -O /dev/null http://speedtest.wdc01.softlayer.com/downloads/test10.zip 2>&1)
t=$(echo "$a"|grep 100%)
t=${t#*=}
t=${t%s}
l=$(echo "$a"|grep Length)
l=${l#*Length: }
l=${l% (*}
s=$(python -c "print '%.2f'%($l*8/$t/1e6)")
d=$(date +"%Y%m%d_%H%M%S")
echo -e "$d\t$s"
此脚本只是将输出保存wget
到变量中,然后进行一些 hacky bash 操作,从下载完成的行(包含 100%)中提取时间,并从给出文件“长度”的行中提取大小。然后它使用 python 计算速度(单位为 Mbits/s)。最后我们将日期(YearMonthDay_HourMinSec)和速度回显到屏幕上。
如果您将其保存为主speed.sh
目录。然后通过在主目录中打开终端并运行使其可执行。
chmod +x speed.sh
现在通过运行来测试它是否正常工作
./speed.sh
如果一切顺利,我们只需要让它定期运行并使用 cron 输出到文本文件。运行:
crontab -e
(如果它要求您选择编辑器,请选择 nano,除非您知道并喜欢其他选项)。使用箭头键导航到文件底部并输入
*/5 * * * * /home/USERNAME/speed.sh>>/home/USERNAME/speed.txt
在这里你应该用你的用户名替换 USERNAME。这将每 5 分钟运行一次脚本。每 10 分钟替换为:
*/10 * * * * /home/USERNAME/speed.sh>>/home/USERNAME/speed.txt
或每小时
0 * * * * /home/USERNAME/speed.sh>>/home/USERNAME/speed.txt
退出编辑器( nano 中的Ctrl+ x),然后说“是”保存。
现在,下载速度应该以您想要的频率记录到主目录中的 .txt 文件中,并在其前面加上日期戳。
我的电脑上每 2 分钟运行一次测试示例,结果如下:
20160731_153804 29.77
20160731_154005 29.77
20160731_154205 23.07
20160731_154404 29.77
20160731_154621 13.18
20160731_154805 29.77
20160731_155004 29.77
20160731_155206 18.10
20160731_155404 29.77