Batt: DEBIAN Cronjob wird nicht ausgeführt...

Hallo,

ich habe folgendes Problem, ein Cronjob wird nicht ausgeführt. Eingetragen ist er laut: "crontab -l"

0 * * * * /usr/bin/php /var/www/virtual/test.de/htdocs/home.php &> /dev/null

Sofern ich es richtig verstanden habe, wird so das Script "jede" Minute ausgeführt. Führe ich es manuell über die Konsole aus funktioniert es.

Folgendes habe ich gemacht:
-Rechner neu gestartet
-Geprüft ob der Dienst beim Systemstart eingetragen ist (er ist eingetragen)
-Cronjob reset

Was kann es denn noch sein?

  1. Hi,

    0 * * * * /usr/bin/php /var/www/virtual/test.de/htdocs/home.php &> /dev/null

    AFAIR ist die erste Spalte nach der Zeitangabe der Benutzer, unter dem der Prozess ausgeführt werden soll. Ich glaube nicht, dass auf dem System ein Benutzer namens /usr/bin/php existiert.

    Ciao,
     Martin

    --
    In Ägypten haben früher 150000 Leute 35 Jahre lang an einer Pyramide gearbeitet. Aber bei uns arbeiten doppelt so viele Leute doppelt so lange allein an der Baugenehmigung.
      (Dieter Nuhr, deutscher Kabarettist)
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    1. Hi!

      AFAIR ist die erste Spalte nach der Zeitangabe der Benutzer, unter dem der Prozess ausgeführt werden soll.

      Nein. Der wird festgelegt, indem du für ihn (crontab -u ...) oder unter seiner Kennung eine crontab anlegst.

      Lo!

      1. Hallo,

        AFAIR ist die erste Spalte nach der Zeitangabe der Benutzer, unter dem der Prozess ausgeführt werden soll.
        Nein

        ich weiß nicht, wie stark sich die diversen cron-Daemons unterscheiden, aber sowohl auf meinem Gentoo-Server, als auch auf zwei Ubuntu-Systemen ist das so, dass der Username als Feld in jeder Zeile der /etc/crontab steht. Da Ubuntu ein Debian-Derivat ist, hatte ich angenommen, dass das da auch so ist.

        Der wird festgelegt, indem du für ihn (crontab -u ...) oder unter seiner Kennung eine crontab anlegst.

        Es gibt userspezifische crontabs? Das war mir neu. Ich kannte bisher nur die globale in /etc.

        Ciao,
         Martin

        --
        Er:  Mit wem warst du gestern abend aus?
        Sie: Du bist mal wieder eifersüchtig wie immer!
        Er:  Wer ist Immer?
        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
        1. Tach,

          Es gibt userspezifische crontabs? Das war mir neu. Ich kannte bisher nur die globale in /etc.

          ja, die mit dem vom OP angesprochenen Befehl crontab editiert werden (zumindest beim üblichen Debian vixie-crond).

          mfg
          Woodfighter

        2. Hi!

          AFAIR ist die erste Spalte nach der Zeitangabe der Benutzer, unter dem der Prozess ausgeführt werden soll.
          Nein
          ich weiß nicht, wie stark sich die diversen cron-Daemons unterscheiden, aber sowohl auf meinem Gentoo-Server, als auch auf zwei Ubuntu-Systemen ist das so, dass der Username als Feld in jeder Zeile der /etc/crontab steht. Da Ubuntu ein Debian-Derivat ist, hatte ich angenommen, dass das da auch so ist.

          Für das /etc/crontab gilt das wohl auch und dafür war mein "Nein" nicht richtig. Da hab ich mich nicht genau genug vergemanpagewissert.

          Der wird festgelegt, indem du für ihn (crontab -u ...) oder unter seiner Kennung eine crontab anlegst.
          Es gibt userspezifische crontabs? Das war mir neu. Ich kannte bisher nur die globale in /etc.

          Kannste mal sehen, mir war die User-Angabe in der System-Crontab nicht bekannt / nicht mehr im Bewusstsein. Haben wir beide was gelernt.

          Es muss ja auch eine Möglichkeit für den Anwender selbst geben, Cronjobs aufzusetzen, ohne dass er gleich Schreibzugriff für die systemweite Datei bekommt. Über eine Gruppenzugehörigkeit kann man üblicherweise einschränken, wer eine private Crontab haben darf. Die userspezifischen Dateien stehen übrigens meist unter /var/spool/cron oder .../crontab(s) oder ähnlich. Bearbeiten sollte man sie aber mit crontab -e (-u).

          Lo!

    2. Tach,

      0 * * * * /usr/bin/php /var/www/virtual/test.de/htdocs/home.php &> /dev/null

      AFAIR ist die erste Spalte nach der Zeitangabe der Benutzer, unter dem der Prozess ausgeführt werden soll. Ich glaube nicht, dass auf dem System ein Benutzer namens /usr/bin/php existiert.

      das gibt es zwar unter Debian allerdings nur in der /etc/crontab.

      mfg
      Woodfighter

  2. Hallo,

    ich habe folgendes Problem, ein Cronjob wird nicht ausgeführt. Eingetragen ist er laut: "crontab -l"

    0 * * * * /usr/bin/php /var/www/virtual/test.de/htdocs/home.php &> /dev/null

    Sofern ich es richtig verstanden habe, wird so das Script "jede" Minute ausgeführt.

    nein. Der Befehl wird einmal pro Stunde, genau zur vollen Stunde ausgeführt.

    * * * * * befehl

    wäre minütlich. Zum Testen ist es übrigens eine gute Idee, Ausgaben in eine Protokolldatei zu schreiben und nicht zu entsorgen. Es ist sogar eine sehr gute Idee, solange Dein Cronjob noch nicht erfolgreich läuft, Debugausgaben vorzunehmen.

    Freundliche Grüße

    Vinzenz

  3. Hi,

    für eine minütliche Ausführung kannst Du auch diese Schreibweise verwenden:

    */1 * * * *

    oder alle fünf Minuten:

    */5 * * * *

    Gruß
    Abdul