Automated Broadband Monitoring on Linux

I’m trialing a 4G home broadband router at the minute to see if it can give me decent upload as apposed to the 1mbps I currently get so I thought I’d look into automatically running speedtests.  Here’s how and it turned out to be quite simple.  Caveat, this runs on Linux.

There is a really handy command line util for running which is a Python script.  To install it run: “sudo pip install speedtest-cli”

If you don’t have pip or python installed run this: “sudo apt install python-pip”

This will install pip and the prerequisites, one of which is Python itself.  Next up, in your home directory, run “speedtest-cli –csv-header >> speedtest.csv”.  This will create an empty CSV with only the headers in it.

Next up, and finally, run “crontab -e” and enter “*/10 * * * * /usr/local/bin/speedtest-cli –csv >> ~/speedtest.csv”.  Thanks to this thread for giving me the answer as to why it wasn’t working to start with.

That’s it!  Every 10 minutes a speedtest will be run and the results appended to the csv file.  Load it up in a spreadsheet program and job done.

It isn’t a long term solution as that csv will get unweildy after a while but this is a two week trial so not an issue.  I’ve an aging Raspberry Pi B hooked up to the router and will check the results in a day or so to see what the connection is like without anything else on it.

Leave a Reply