Automatisierte Speedtests zur Durchklage beim ISP
Dreckig interpretiert von https://supportblog.ch/uberwache-deine-internetspeedtest-cli/ (weil ich nicht erwarte, dass die Seite länger lebt als mein Eintrag)
Das hier ist erst mal nur interpretiert, daher ungetestet:
sudo apt-get install curl
curl -s https://install.speedtest.net/app/cli/install.deb.sh | sudo bash
sudo apt-get install speedtest
speedtest-cli -f csv --output-header >>/var/tmp/speedtests.csv
sed -i '"date time",' /var/tmp/speedtests.csv
sudo crontab -l > cron_bkp
sudo echo "22 */4 * * * /bin/bash -c 'echo "\"$(date +\%d.\%m.\%Y\ \%H:\%M:\%S)\",$(/usr/bin/speedtest -f csv)" >>/var/tmp/speedtests.csv'" >> cron_bkp
sudo crontab cron_bkp
sudo rm cron_bkp
Vorsicht Zeile 7 - ist meine unsicherste. Sonst crontab -e verwenden.
Das ganze Gnuplot-Gedöns habe ich hier mal weggelassen.
Backup vom Script mach ich aber mal.
cat gnuplot_speedtest_data
# Gnuplot for speedtests.csv
reset
set terminal dumb ansirgb feed enhanced size 128, 31 aspect 1;
set tics nomirror scale 0.5;
set autoscale;
set datafile separator ","
set title "Internetgeschwindigkeiten in Mbps\n[".strftime("%d.%m.%Y %H:%M:%S",time(0))."]"
set xlabel "Datetime" offset 0,-1 # label for the X axis
set xdata time
set timefmt "%d.%m.%Y %H:%M:%S"
set format x "%d.%m\n%H:%M" # Display date time format on graph
# Show last 48h
set xrange [time(0)-2*24*60*60:]
set ylabel "Mbps" offset character 2,0 # label for the Y axis
#set yrange [0:] # show whole range from zero
# change legend position
set key right below nobox
set grid
plot "/var/tmp/speedtests.csv" using 1:($7*8/1000/1000) with line title "Download", '' using 1:($8*8/1000/1000) with line title "Upload"