CRONTAB auf Raspberry

  • Die ist garantiert gestartet. Pack mal einfach folgendes in deine Crontab


    Code
    * * * * * echo hallo >> /tmp/test.log

    und dann warte ein paar Minuten und schau, ob in der Datei /tmp/test.log hallos anfangen zu erscheinen.

  • Ich bekomme folgenden Hinweis:


    service crond status

    Unit crond.service could not be found.

    Wie sind die Ausgaben von:

    Code
    systemctl status cron
    ps -fC cron

    ?

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

  • Hallooooo


    bei dem eintarag

    * * * * * echo hallo >>/temp/test.log

    in die CRONTAB

    erhalte ich noch nichteinml eine Datei "temp/test.log

  • pi@raspberrypi:/tmp $ systemctl status cron

    cron.service - Regular background program processing daemon

    Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: enabled)

    Active: active (running) since Wed 2020-06-03 12:38:28 CEST; 4h 21min ago

    Docs: man:cron(8)

    Main PID: 321 (cron)

    Tasks: 1 (limit: 4915)

    Memory: 6.7M

    CGroup: /system.slice/cron.service

    └─321 /usr/sbin/cron -f


    Jun 03 16:59:01 raspberrypi CRON[11082]: pam_unix(cron:session): session opened for user root by (uid=0)

    Jun 03 16:59:01 raspberrypi CRON[11083]: pam_unix(cron:session): session opened for user pi by (uid=0)

    Jun 03 16:59:01 raspberrypi CRON[11095]: (root) CMD (python /home/pi/Desktop/Hallo.py 2>&1)

    Jun 03 16:59:01 raspberrypi CRON[11094]: (pi) CMD (python /home/pi/Desktop/Hallo.py >/dev/null 2>&1)

    Jun 03 16:59:01 raspberrypi CRON[11096]: (pi) CMD (echo hallo >>?temp/test.log)

    Jun 03 16:59:01 raspberrypi CRON[11083]: (CRON) info (No MTA installed, discarding output)

    Jun 03 16:59:01 raspberrypi CRON[11083]: pam_unix(cron:session): session closed for user pi

    Jun 03 16:59:20 raspberrypi CRON[11084]: pam_unix(cron:session): session closed for user pi

    Jun 03 16:59:20 raspberrypi CRON[11082]: (CRON) info (No MTA installed, discarding output)

    Jun 03 16:59:20 raspberrypi CRON[11082]: pam_unix(cron:session): session closed for user root

  • ... ich habe das Fragezeichen durch / ersetzt


    pi@raspberrypi:/tmp $ crontab -e

    crontab: installing new crontab

    pi@raspberrypi:/tmp $ ls

    systemd-private-e408cbf65d74439486f22c4a7d5b5936-systemd-timesyncd.service-wE8Rt8

  • pi@raspberrypi:/tmp $ systemctl status cron

    cron.service - Regular background program processing daemon

    Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: enabled)

    Active: active (running) since Wed 2020-06-03 12:38:28 CEST; 4h 23min ago

    Docs: man:cron(8)

    Main PID: 321 (cron)

    Tasks: 7 (limit: 4915)

    Memory: 11.0M

    CGroup: /system.slice/cron.service

    ├─ 321 /usr/sbin/cron -f

    ├─11221 /usr/sbin/CRON -f

    ├─11223 /usr/sbin/CRON -f

    ├─11233 /bin/sh -c python /home/pi/Desktop/Hallo.py 2>&1

    ├─11234 /bin/sh -c python /home/pi/Desktop/Hallo.py >/dev/null 2>&1

    ├─11236 python /home/pi/Desktop/Hallo.py

    └─11237 python /home/pi/Desktop/Hallo.py


    Jun 03 17:01:21 raspberrypi CRON[11182]: pam_unix(cron:session): session closed for user root

    Jun 03 17:01:21 raspberrypi CRON[11184]: pam_unix(cron:session): session closed for user pi

    Jun 03 17:02:01 raspberrypi CRON[11221]: pam_unix(cron:session): session opened for user root by (uid=0)

    Jun 03 17:02:01 raspberrypi CRON[11223]: pam_unix(cron:session): session opened for user pi by (uid=0)

    Jun 03 17:02:01 raspberrypi CRON[11222]: pam_unix(cron:session): session opened for user pi by (uid=0)

    Jun 03 17:02:01 raspberrypi CRON[11233]: (root) CMD (python /home/pi/Desktop/Hallo.py 2>&1)

    Jun 03 17:02:01 raspberrypi CRON[11235]: (pi) CMD (echo hallo >>/temp/test.log)

    Jun 03 17:02:01 raspberrypi CRON[11234]: (pi) CMD (python /home/pi/Desktop/Hallo.py >/dev/null 2>&1)

    Jun 03 17:02:01 raspberrypi CRON[11222]: (CRON) info (No MTA installed, discarding output)

    Jun 03 17:02:01 raspberrypi CRON[11222]: pam_unix(cron:session): session closed for user pi

  • Du musst schon drauf achten, was ich schreibe. Da steht nicht temp. Wenn du einfach wild Buchstaben rumwuerfelst (gerne auch Python mit grossem P), dann wird's nix. Da kommt es drauf an, das buchstabengetreu zu machen.


    Wie Manul aber belegt hat: das Kommando IST gelaufen. CRON laeuft also. Wenn dein Kommando nicht geht, dann liegt es an dem Code.

  • Hallo,


    ich habe folgende Datei: Hallo.py


    #!/usr/bin/env python3


    from datetime import datetime

    import io

    import time

    i = 1


    Datei=open('Temperatur.csv', 'a')



    while i < 11:

    file = open('/sys/bus/w1/devices/28-011921e7ba30/w1_slave')

    filecontent = file.read()

    file.close()

    stringvalue = filecontent.split("\n")[1].split(" ")[9]

    temperature = float(stringvalue[2:]) / 1000

    temperatur = str(temperature)

    Zeit=datetime.now().strftime("%H.%M.%S")

    Durchlauf = str(i)

    zeile=Zeit + ';' + temperatur

    Datei.write(zeile + '\n')

    n=str(i)

    print(n +". " + zeile)

    i = i + 1

    time.sleep(1)


    Mit dem Aufruf "python Hallo.py" funktioniert es einwandfrei

    ohne "python" lauft es nicht :-((

  • Schoen. Aber wir wussten das ja auch schon. Schau dir nochmal Manul's Nachricht an. Und das was du da siehst, die Fehlermeldungen, die koenntest du auch zu deinem Skript darin finden. Und wenn nicht, dann hast doch inzwischen sicher mal nach wiederholter Aufforderung das Thema "absolute Dateipfade in cron Skripten" hier im Forum recherchiert?


    Und was heisst "laeuft nicht"? Explodiert die Kuechenwaage? Stuerzt das Dach ein? Oder was GENAU passiert?


    Und benutz in Zukunft fuer Code und fuer Fehlermeldungen bitte das Code-Tag, das ist der </>-Knopf.

  • Die Datei "Hallo.py" liegt auf dem "Desktop".

    wenn ich auf dem "Desktop" die "Hallo.py" aufrufe/ ausführe erhalte ich folgende Nachricht:

    "-bash: Hallo.py: Kommando nicht gefunden."

  • Du sollst die auch nicht mit Doppelklick ausfuehren. Sondern in einem Terminal. Wechsel in das Desktop-Verzeichnis, und ruf ./Hallo.py auf. Und vorher musst du das mit chmod a+x Hallo.py ausfuehrbar machen.

  • Ich bin per ssl von meinem MACBOOK mit dem Raspberry verbunden.




    pi@raspberrypi:~/Desktop $ chmod a+x Hallo.py

    pi@raspberrypi:~/Desktop $ Hallo.py

    -bash: Hallo.py: Kommando nicht gefunden.

    pi@raspberrypi:~/Desktop $

  • Und habe ich nur Hallo.py geschrieben? Oder habe ich da noch was vor geschrieben?


    Das wird so nix, wenn du nicht sehr schnell anfaengst, die Dinge hier mit Sorgfalt zu lesen.

  • Ziel ist (und war) es per Raspberry die Temperatur auszulesen und eine Grafik zu erzeugen.


    Die "Hallo.py" sieht momentan so aus:



    #!/usr/bin/env python3


    from datetime import datetime

    import io

    import time

    i = 1


    Datei=open('Temperatur.csv', 'a')



    while i < 11:

    file = open('/sys/bus/w1/devices/28-011921e7ba30/w1_slave')

    filecontent = file.read()

    file.close()

    stringvalue = filecontent.split("\n")[1].split(" ")[9]

    temperature = float(stringvalue[2:]) / 1000

    temperatur = str(temperature)

    Zeit=datetime.now().strftime("%H.%M.%S")

    Durchlauf = str(i)

    zeile=Zeit + ';' + temperatur

    Datei.write(zeile + '\n')

    n=str(i)

    print(n +". " + zeile)

    i = i + 1

    time.sleep(1)


    Die Datei kann ich unter dem Terminal mit dem Befehl "python Hallo.py" ausführen.

    Bei dem Ausführen von "Hallo.py" erscheint folgende Fehlermeldung:


    pi@raspberrypi:~/Desktop $ Hallo.py

    -bash: Hallo.py: Kommando nicht gefunden.

    pi@raspberrypi:~/Desktop $

  • Da du nicht liest, was ich dir schreibe - weder zum ausfuehren des Kommandos, noch bei der Frage nach der Formatierung des Quellcodes - melde ich mich mal hier ab. Viel Erfolg.