/etc/crontab tut es nichtmehr

  • Hallo zusammen,

    Möglicherweise habe ich ja was verpasst.

    In der Vergangenheit habe ich meine Cronjobs immer in der /etc/crontab erfasst. Funktionierte bisher auch super. Nur seit einigen Tagen läuft keiner der jobs mehr, sie tauchen auch nicht mal in dem syslog auf.

    Ich habe dann mit sudo crontab -e für den root eine root crontab angelegt und vollqualifizierte Pfadnamen angegeben und den root aus dem alten String gelöscht.

    Nun funktioniert es wieder.

    Wie kann ich das um- oder einstellen, dass wieder nur die /etc/crontab abgearbeitet wird? Ich finde es übersichtlicher als für jeden User eine eigene anzulegen.

    Gruß Alti

  • Nur seit einigen Tagen läuft keiner der jobs mehr, sie tauchen auch nicht mal in dem syslog auf.

    Welchen PI bzw. welche raspian-Version ist auf deinem PI installiert?

    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-p6 (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

  • Sorry, einen alten RP3B mit Jessie 4.9.35

    OK. Als die cronjobs nicht mehr funktioniert haben, hast Du dann auch mit z. B. (oder gleichwertig) nachgeschaut:

    Code
    ps aux | grep -i [c]ron
    systemctl status cron
    systemctl is-active cron

    ? Ich hatte auch schon mal den Fall, dass der cron-daemon nicht mehr aktiv war.

    Du könntest mit einer timer-unit prüfen lassen ob cron noch aktiv ist und wenn nicht, dann diesen von der timer-unit starten lassen. Oder Du benutzt statt dem cronjob, eine timer-unit.

    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-p6 (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

  • das ist das Ergebnis von systemctl status cron

    Code
    ● cron.service - Regular background program processing daemon
       Loaded: loaded (/lib/systemd/system/cron.service; enabled)
       Active: active (running) since Sa 2019-11-09 08:47:07 CET; 1 day 15h ago
         Docs: man:cron(8)
     Main PID: 632 (cron)
       CGroup: /system.slice/cron.service
               └─632 /usr/sbin/cron -f

    Ich hatte auch mit ps den

    Code
    /usr/sbin/cron -f

    gefunden, aber die /etc/crontab wurde nicht abgearbeitet.

  • das ist das Ergebnis von systemctl status cron

    OK, aber von Interesse wäre diese Ausgabe, zum Zeitpunkt wenn die /etc/crontab nicht abgearbeitet wird.

    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-p6 (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

  • Hmmm, ich denke ich hab's gelöst. Liege ich bei Folgendem richtig?

    Folgende /etc/crontab hatte ich:

    lief bis dato einwandfrei. Ich hatte lediglich den @reboot part hinzugefügt, gem. verschiedener Anleitungen. Unter anderem stand dort, dass reboot-cronjobs grundsätzlich nur für root ausgeführt werden und deshalb die user-Angabe nicht erfolgen braucht/darf. Die meisten Anleitungen basierten aber auf dem crontab -e Aufruf.

    Bei der Dursicht der Log kam mir die Idee, dass auch der reboot job vielleicht doch einen ausführenden User braucht und habe dann daraus einfach

    Code
    @reboot root    sleep 15 && php5 /etc/php/DiskMount.php

    gemacht.

    Und siehe da, die cronjobs laufen wieder.

    Ich hätte nicht gedacht, das bei einer falschen (und auch der letzten) Zeile, die ganze Datei nicht abgearbeitet wird...

    Vielen Dank an alle die mitgegrübelt haben.

    Gruß Alti

    • Offizieller Beitrag

    Unter anderem stand dort, dass reboot-cronjobs grundsätzlich nur für root ausgeführt werden und deshalb die user-Angabe nicht erfolgen braucht/darf.

    Das stimmt so nicht. Die systemweite Crontab will IMMER einen User sehen, für den der Cronjob ausgeführt wird. Das fordert schon der Syntax. Hättest Du das schon im ersten Beitrag gezeigt, dann wären das nur zwei(, bzw. drei mit dem Dankeschön) Beiträge geworden. :cool:

Jetzt mitmachen!

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