Cronjob geht.. aber auch nur so zur hälfte | Shellscript

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo erstmal. Ich bin neu hier im Forum und auch recht neu was Spielereien mit dem PI Skripten und co. angeht.
    Ich versuche aktuell meine Internetgeschwindigkeit zu protokollieren und wollte dies per cron automatisieren.

    Leider funktioniert das nicht ganz da meine Ausgabedatei immer leer bleibt bzw einfach keine neue Zeile dazu geschrieben wird.

    meine speedtest.sh sieht so aus:

    Bash
    #!/bin/sh
    
        echo 'Speedtest wurde gestartet.'
        date
        echo 'Ausgabe in Datei speedtest.csv'
    
    
           echo 'Messung läuft...'
            speedtest-cli --csv --csv-delimiter ';' >>speedtest.csv
           echo 'Messung beendet und in speedtest.csv geschrieben.'

    Mein Crontap (mit sudo contabe):

    Code
    SHELL=/bin/bash
    
    PATH="/usr/local/bin:/usr/bin:/bin"
    
    */5 * * * * /bin/bash /home/pi/speedtest.sh 1> /home/pi/logs_error/logs/speed_log.txt 2> /home/pi/logs_error/error/err.txt

    Die err.txt bleibt leer und die speed_log.txt zeigt mein echo an.

    So weit so gut also denke ich das ich soweit alles richtig gemacht habe, zumindest hoffe ich das :conf:.

    Nur die speedtest.csv bleibt leer.

    wenn ich den Befehl bzw die speedtest.sh direkt ausführe geht alles wie gewünscht.

    Leider konnte ich auch nichts passendes in der Foren- und Internetsuche finden

    MFG :)

  • Cronjob geht.. aber auch nur so zur hälfte | Shellscript? Schau mal ob du hier fündig wirst!

  • #!/bin/sh

    Die startest das Shellscript mit der Bourne-Shell (wenn sie nicht anders besetzt ist), in der Crontab-Datei soll das mit der Bash gestartet werden.

    Übrigens:

    Warum packst du das nicht in die crontab des Users PI?

    In der System-Crontab haben solche Programme nichts zu suchen.

    Ist das Programm "speedtest-cli" im Pfad in der crontab definiert ist, es wird ohne aufgerufen?

    Computer ..... grrrrrr

  • Dann rufst du das Shell skript mal direkt auf und guckst, was passiert. Benutzt Du absichtlich /bin/sh ?

    Ach ja, zeig mal das angepasste Skript her.

    ./speedtest.sh: 9: ./speedtest.sh: cannot create /usr/local/bin/speedtest.csv: Permission denied

    Code
       echo 'Messung läuft...'
            speedtest-cli --csv --csv-delimiter ';' >>/usr/local/bin/speedtest.csv
           echo 'Messung beendet und in speedtest.csv geschrieben.'


    Die startest das Shellscript mit der Bourne-Shell (wenn sie nicht anders besetzt ist), in der Crontab-Datei soll das mit der Bash gestartet werden.

    Übrigens:

    Warum packst du das nicht in die crontab des Users PI?

    In der System-Crontab haben solche Programme nichts zu suchen.

    Ist das Programm "speedtest-cli" im Pfad in der crontab definiert ist, es wird ohne aufgerufen?

    Das hieß mal bash aber anscheinend habe ich das beim herrumprobieren gelöscht... habe es wieder in bash geändert.

    Habe es auch wieder in den crontab von pi geschoben. Hatte gehofft das es irgendwie mal funktioniert.

    Die speedtest-cli liegt auch im /user/local/bin/ bei meiner sh Datei.

  • Habe es auch wieder in den crontab von pi geschoben. Hatte gehofft das es irgendwie mal funktioniert.

    Die speedtest-cli liegt auch im /user/local/bin/ bei meiner sh Datei.

    In binären System ist hoffen irgendwie nicht vorhanden.

    Code
    /usr/local/bin/speedtest-cli --csv --csv-delimiter ';' >>/home/pi/speedtest.csv

    Auf die "echo" kannst Du getrost verzichten.

    Edit: Und die obige zeile setzt Du bitte in Deine crontab ein. Ein extra Skript benötigst Du in diesem Fall nicht.

  • Auf die "echo" kannst Du getrost verzichten.

    Die echos waren auch nur um direkt zu sehen ob überhaupt irgendwas passiert.

    Edit: Und die obige zeile setzt Du bitte in Deine crontab ein. Ein extra Skript benötigst Du in diesem Fall nicht.

    Ernsthaft? ^^^^^^^^:D... es kann so einfach sein :wallbash: und ich probiere da seit gestern dran rum ... ich danke dir ;)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!