Nochmal Cronjob - leider

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Moin,

    vorweg: JA, ich benutze die SuFu. Und JA, ich habe gelesen wie man einen Cronjob (-e) einrichtet. Und JA, ich habe am Ende der neuen Zeile einen Zeilenumbruch gegeben.

    Meine Tab sieht so aus:

    Code
    ...
    # m h  dom mon dow   command
    48 19 * * * w.sh

    Mein Script sieht so aus:

    Bash
    #!/bin/sh
    echo "hhhhhhhh" >> log.txt

    Es passiert... .......NICHTS! um die eingestellte Uhrzeit. Ich habe das Script neu erstellt. Ich habe nach

    Code
    crontag -e


    und "crontab: installing new crontab" aus Verzweiflung noch

    Code
    sudo /etc/init.d/cron reload

    und

    Code
    sudo /etc/init.d/cron restart

    gegeben. Es tut sich NICHTS.

    Ähm. Was könnte ich noch tun? BTW: Auch andere Scripte werden NICHT gestartet.

  • Versuche es so:

    Code
    ...
    # m h  dom mon dow   command
    48 19 * * * sh /pfad/zum/script/w.sh
  • Hallo Forum,
    da auch ich Proble mit dem Cronjob habe, versuche ich das Thema nochmal zu beleben. Trotz vielem Lesen hier im Forum ist es mir nicht gelungen meinen Cronjob zum Arbeiten zu überreden. Ursprünglich sollte er ein Pythonscript zur Temperaturmessung, Pool-Solar-Steuerung ausführen. Inzwischen soll er nur noch die Zeitinfo in eine Datei schreiben.
    Direkt gestartet tut das Pythonscript auch was es soll, aufgerufen vom Cronjob aber nicht. Der Cronjob wird aber laut /var/log/syslog gestartet.

    Code
    Jul  9 07:11:01 raspberrypi /USR/SBIN/CRON[24858]: (root) CMD (/usr/bin/python /home/pi/TEST/test1.py)

    Der Eintrag in der Crontab sieht so aus:

    Code
    # m h  dom mon dow   command
    
    
    */1 * * * * /usr/bin/python /home/pi/TEST/test1.py
    #


    Was mache ich falsch, was fehlt?
    Danke

    (PS: Es ist mir fast peinlich hier zu fragen, da ich seit ca. 20 Jahren in der Softwareentwicklung arbeite, aber der Cronjob auf dem kleinen RPi will einfach nicht. =( )

  • Woran erkennst du, dass er nicht läuft? hast du mal versucht einfach etwas in eine Datei zu schreiben am Anfang des Scriptes und dann immer später, bis du weißt ab welcher Zeile es nciht mehr funktioniert?
    Hast du mal versucht die Ausgabe/Errorausgabe in eine Datei umzuleiten um zu sehen was das Script sagt?

    • Offizieller Beitrag

    An sich sieht die Syntax richtig aus. Da wir aber nicht wissen was n der .py steht mach das mal horroreyes gesagt hat

    Code
    */1 * * * * /usr/bin/python /home/pi/TEST/test1.py > /home/pi/error.log
  • Ich bin mir gerade nicht sicher, denn normalerweise darf root ja alles. Aber ich würde noch mal überprüfen ob root aus der cron heraus wirklich alles darf.
    Also wie sehen die Rechte bis zu deinem Skript aus? Warum das Skript nicht einfach im cron vom user pi starten?
    Zeig auch mal dein Skript - vielleicht kann das ja aus dem cron heraus gestartet ja gar nicht das tun was es soll - Stichwort Pfade usw...

    --
    man ist das System-Anzeigeprogramm für die Handbuchseiten von Linux.

  • Horroreyes, danke für die schnelle Antwort!
    Da keine neuen Zeiten in die Datei geschrieben werden, denke ich, dass das Script nicht ausgeführt wird. Hier das Script:

    Python
    from time import *
    
    
    datum = strftime("%Y-%m-%d")
    zeit = strftime("%H%M%S")
    
    
    f = open("time.txt","a")
    f.write(datum + " " + zeit +"\n")
    f.close()


    Die Ausgaben des Scripts habe ich versucht in eine Datei umzuleiten, er hat die Datei angelegt, die war und blieb aber leer. Eintrag sah so aus:

    Code
    */1 * * * * /usr/bin/python /home/pi/TEST/test1.py 2>&1 >> /home/pi/TEST/test1.log
  • mach mal folgendes:

    Code
    find / -name time.txt



    Ich denke alles ist gut nur du sagst ihm ja nur nicht wohin er die Datei schreiben soll....

    --
    man ist das System-Anzeigeprogramm für die Handbuchseiten von Linux.

    Einmal editiert, zuletzt von Lunepi (9. Juli 2014 um 10:10)

  • als Antwort auf find / -name time.txt bekomme ich folgendes:
    /home/pi/TEST/time.txt
    /root/time.txt

    Du hast recht, er legt meine time.txt im Verzeichnis root an, in der stehen auch die Zeit/Datum-Einträge.
    Habe im Script die Zeile geändert in: f = open("/home/pi/TEST/time.txt","a")
    und dann klappts.
    Ich danke Euch ersteinmal und versuche mich jetzt an dem ursprünglichen Cronjob (PoolSolarSteuerung), vielleicht muß ich mich dann noch mal melden.

Jetzt mitmachen!

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