Comment programmer facilement un test de débit internet et avoir un résultat journalisé ?
Vous désirez savoir quelles sont les plages horaires avec le meilleur débit ?
Un serveur linux, par exemple sur un raspberry pi, peut très bien faire l'affaire
Prérequis : une distribution linux avec un service web, ex : LAMP sous Ubuntu
1) installer les dépendances :
sudo apt install speedtest-cli unaccent txt2html
2) créer le script speedtest.sh :
sudo nano /usr/local/bin/speedtest.sh
puis copier-coller / enregistrer :
#!/bin/bash
echo " " >> /var/www/speedtestlog.txt
echo "`date`:" >> /var/www/speedtestlog.txt
speedtest --simple --bytes >> /var/www/speedtestlog.txt
unaccent UTF-8 </var/www/speedtestlog.txt >/var/www/speedtestlog2.txt
txt2html --infile /var/www/speedtestlog2.txt --outfile /var/www/speedtestlog.html
3) rendre le script exécutable :
sudo chmod +x /usr/local/bin/speedtest.sh
4) Planifier le test par exemple toutes les 30mn, les jours de la semaine uniquement, de 8h à 18h seulement
sudo crontab -e
puis rajouter ces deux lignes :
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
*/30 8-18 * * mon,tue,wed,thu,fri /usr/local/bin/speedtest.sh
Voilà, une page html va vous afficher vos tests avec la date et l'heure, le ping et les débits ascendants / descendants, ex :
mercredi 31 aout 2022, 09:02:34 (UTC-0300):
Ping: 947.612 ms
Download: 1.36 Mbyte/s
Upload: 0.52 Mbyte/s