Aller au contenu

Script pour SpeedTest (via planificateur de tâches)


alan.dub

Messages recommandés

Bien le bonjour à toutes et tous !!!

 

Ce matin j'ai eu l'idée de créer un script "SpeeTest" via le planificateur de tâches de mon NAS (avec enregistrement dans un fichier txt).

C'est surtout pour vérifier régulièrement la connexion de ma future fibre (que je peux installer chez moi depuis un bon mois maintenant...).

 

Bref, après quelques recherches, j'ai réussi à faire un SpeedTest via SSH.

Pour ce faire, j'ai utilisé la solution suivante https://www.speedtest.net/fr/apps/cli (utilisation de l'app Linux version aarch64)

Puis, depuis le Terminal de Mac OS, j'ai testé le lancement via SSH :

ssh USER@192.168.0.10

Mot de passe

cd /volume1/Partage/SpeedTest

./speedtest

yes

yes

Jusque là, tout est ok, le terminal me donne les informations suivantes :

 

Speedtest by Ookla

Server: ORANGE FRANCE - Paris (id = 24215)

ISP: Free SAS

Latency:    35.12 ms   (1.44 ms jitter)

Download:     9.64 Mbps (data used: 11.6 MB )                               

Upload:     1.00 Mbps (data used: 1.0 MB )                               

Packet Loss:     0.0%

 

Par contre, pour transposer tout ça dans un script à intégrer au planificateur de tâches... je sèche.

Auriez-vous une idée pour faire ce que je cherche ?

L'idée serait ensuite d'exécuter le script toutes les X heures.

 

Merci beaucoup ^^

Modifié par alan.dub
Lien vers le commentaire
Partager sur d’autres sites

A une époque voilà ce que j’avais fait. J’écrivais dans une table mySql, mais tu peux t’en inspirer…

Je met le script brut, car je ne suis pas chez moi et je n’ai pas accès à mon ordi. J’utilisais speedtest-cli (trouvé sur internet). Et je ne sais pas ça marche toujours…

#!/bin/ash
#PATH=/bin:/usr/bin
###########################################################################################
#............ Script d'enregistrement des performances d'une connection internet..........#
#....................... Utilisation de speedtest-cli.....................................#
#................... Ce script est lancé toutes les heures via CRONTAB ...................#
#................... Les résultats sont stockés dans une table MySQL .....................#
#.........................................................................................#
###########################################################################################

# Récupération des paramètres et définition des variables globales utilisées par la suite
#----------------------------------------------------------------------------------------
    AccesTable="/usr/local/mariadb10/bin/mysql speedtest -u root -pxxxxxxx --default-character-set=utf8  -t -N  -e"     # Accés à plusieurs ligne
    AccesLigne="/usr/local/mariadb10/bin/mysql speedtest -u root -pMml3935Durci  --default-character-set=utf8  -s -B -e "        # Accés à une seule ligne

    #ligne=$(`echo /volume1/.script/speedtest/speedtest-cli --server 2023 --csv`)
    ligne=$(`echo /volume1/.script/speedtest/speedtest-cli --csv`)
    #echo $ligne

    #Server ID,Sponsor,Server Name,Timestamp,Distance,Ping,Download,Upload,Share,IP Address
    idserveur=$(echo $ligne|cut -d"," -f1)
    serveur=$(echo $ligne|cut -d"," -f2)
    lieu=$(echo $ligne|cut -d"," -f3)
    timestamp=$(echo $ligne|cut -d"," -f4)
    distance=$(echo $ligne|cut -d"," -f5)
    ping=$(echo $ligne|cut -d"," -f6)
    download=$(echo $ligne|cut -d"," -f7)
    upload=$(echo $ligne|cut -d"," -f8)
    ip=$(echo $ligne|cut -d"," -f10)

#    echo $idserveur
#    echo $serveur
#    echo $lieu
#    echo $timestamp
#    echo $distance
#    echo $ping
#    echo $download
#    echo $upload
#    echo $ip

    timestamp=$(echo $timestamp|cut -d"." -f1)  
    sql="INSERT into speedtest VALUES (DATE_ADD(timestamp('$timestamp'), INTERVAL 1 hour), $idserveur, '$serveur', '$lieu', $distance , $ping, $download/1000000, $upload/1000000, '$ip');" 
#    echo $sql
    $AccesTable "$sql" 
    if [ $? != 0 ]
    then
        echo "Erreur SQL lors de l'ordre suivant : " $sql
        exit
    fi
#    echo "ordre ok"

#    sql="SELECT * FROM speedtest" 
#    Resultat=$($AccesTable "$sql") 
#    echo $Resultat
#$AccesTable "$sql"

exit

Lien vers le commentaire
Partager sur d’autres sites

Nickel 👍

Je vais regarder ça et voir ce que je peux en faire 😀

Mais je vais essayer d’éviter la base SQL. 
Je n’ai pas le paquet mariaDB d’installé, et mon NAS commence à être à l’étroit côté RAM 😅

Merci beaucoup 👍

ÉDIT :

Concernant speedtezt-cli c’est justement celui que j’ai téléchargé ce matin, donc oui, il est toujours d’actualité 😉

Modifié par alan.dub
Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.