contrab läuft nicht

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Ich habe einen neuen Raspberry aufgesetzt mit aktuellen Paketen.

    Meine Scripte laufen auch soweit. Nun möchte ich einige über crontab nach bestimmten Zeiten starten.

    Die crontab sieht so aus:

    Die beiden die beim Systemstart gestartet werden soll funktionieren.
    Aber alle die nach Zeit gehen nicht.

    Aber wenn ich die Scripte als @reboot ausführe, dann gehen alle.

    Die test.py war nur zum testen dort habe ich nur eine LED ein und ausgeschaltet. Auch das geht nicht und es wird auch keine fehler.txt erzeugt.

    Wenn ich über env -i  den Link aufrufe dann geht es auch.

    Kann mir einer sagen, wo bei mir der Fehler liegt?

  • Kommentiere die erste Zeile die nicht geht mal aus und sieh nach, ob die anderen funktionieren. Wenn das der Fall ist, dann schick die Ausgaben des nicht funktionierenden Befehls nach mal /dev/null.

    Btw. Cron hat ein log, bzw. wird gelogt!


    //Edit

    Welche / wessen Crontab ist das eigentlich?

  • Und es nicht nur die letzte Zeile die nicht geht, sondern alle 4 die über Zeit laufen gehen nicht.

    Trage mal folgende Zeile:

    Code
    * *    * * *    /usr/bin/logger "`/bin/date >> /tmp/logg.txt`" > /dev/null 2>&1

    als letzte wirksame Zeile, in die crontab ein und poste nach 4 Minuten, die Ausgabe von:

    Code
    cat /tmp/logg.txt

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

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • rpi444 hyle

    Danke für die Hilfestellung.

    Ich habe crontrab sowohl als Benutzer pi und auch als Benutzer www-data ausprobiert. Leider ohne Erfolg.

    Aber durch Zufall habe ich den Fehler jetzt gefunden.

    Der Fehler lag darin, ich wollte testen ob die Scripte laufen nach Zeit. Da habe ich die Uhrzeit eingetragen auf die nächste Minute um zu testen. Das war der Fehler.

    Warum kann ich nicht sagen, vielleicht habt ihr eine Idee woran das liegen kann. Denn contrab führt die Befehle bei diesen pi 1minute eher aus, als angegeben.

    Bei anderen Pi kenn ich es das es die Scripte erst nach 10-20 sek. ausführt. Aber nicht 1min früher als die Systemzeit vom pi.

    Dadurch war die Zeit die ich eingetragen habe im entefekt schon überschritten.

  • Denn contrab führt die Befehle bei diesen pi 1minute eher aus, als angegeben.

    Nein, das kann ich mir nicht vorstellen. Du kannst es auf deinem PI, mit z. B.:

    Code
    10 12    * * *    /usr/bin/logger "`/bin/date >> /tmp/logg.txt`" > /dev/null 2>&1

    testen. D. h. mit einer Uhrzeit die z. B. ca. 1/2 Stunde in der Zukunft liegt. Poste danach die Ausgaben von:

    Code
    cat /tmp/logg.txt
    date && rdate -4npu 130.133.1.10

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

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Die Crontab hat keine vollständigen Umgebung, so sind die Programme nicht alle im von der Crontab verwendeten Umgebung. Damit kann sie keine Programme starten, die sie nicht findet

    => Immer nur den vollen Pfad bei Programmen und Dateien.

    In den von der Crontab aufgerufenen Skripten gilt das gleiche wie für die Crontab. Normalerweise läuft die Crontab bei Debian und auf Debian basierenden Systemen mit der "dash"-Shell, deren 'eingebauter' Befehlsumfang nicht dem der bash entspricht.

    => ein Programm starten, in dem die Bash per shebang vorgegeben ist.

    Du rufst "wget" auf ohne ein Ziel für die heruntergeladenen Daten anzugeben.

    Du rufst ein php-Skriot als Crontab-User auf, welchen in der Webumgebung liegt. Hat der Crontab-User die Rechte dazu,das Skript aufzurufen? und war machst du mit dem Ergebnis dieses Aufrufs?

    Die von der Crontab aufgerufenen Programm werden in der Reihenfolge

    Code
    16 15 * * *   /smart_home/beleuchtung/Beleuchtung.sh
    29 15 * * *   php /var/www/html/vitrine/temperiert/gpio/Get_Gpio.php
    49 15 * * *   wget  http://127.0.0.1/vitrine/temperiert/gpio/Get_Gpio.php?gpio=998

    aufgerufen, denn die Stunde ist in allen fällen gleich, und bei den Minuten ist die Reihenfolge der Einträge in der Crontab vollkommen unwichtig.

    Computer ..... grrrrrr

Jetzt mitmachen!

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