cronjobs laufen nicht

Dieses Thema im Forum "Installation und Konfiguration" wurde erstellt von tommsen77, 23. Jan. 2013.

  1. tommsen77

    tommsen77 New Member

    hallo,

    ich habe ISPconfig 3 auf einem Ubuntu Server am Laufen. Leider führt er die angelegten cronjobs nicht aus. Manuell werden die Befehle ausgeführt, daran liegts also nicht.

    Code:
    tommsen@eumel ~ # more /etc/cron.d/ispc_chrooted_web2 
    
    MAILTO=''
    SHELL='/usr/sbin/jk_chrootsh'
    
    */5    *    *    *    *    web2    /var/www/clients/client0/web2/flow geocode:all    #myhost.de
    0    3    *    *    *    web2    /var/www/clients/client0/web2/flow import:all #myhost.de
    
    
    Hat da vielleicht jemand ne Idee woran es liegen könnte?
     
  2. tommsen77

    tommsen77 New Member

    ich muss korrigieren. Der erste Job läuft, nur der zweite nicht. Gibt es irgendwelche Limitierungen für die Cron Jobs, die man wissen sollte?
     
  3. Till

    Till Administrator

    Der obige cronjob ist ein sog. chrooted cron und kein full cron. Chrooted cronjobs sind gesicherte cronjobs bei denen nicht auf Dateien außerhalb des web root zugegriffen werden kann. Das chroot root dir des webs ist: /var/www/clients/client0/web2/, für den Cronjob ist dieses Verzeichnis also /

    Daher muss der Cron Befehl relatib zum webroot angegeben werden, also statt:

    /var/www/clients/client0/web2/flow geocode:all

    /flow geocode:all
     
  4. Till

    Till Administrator

    Der obige cronjob ist ein sog. chrooted cron und kein full cron. Chrooted cronjobs sind gesicherte cronjobs bei denen nicht auf Dateien außerhalb des web root zugegriffen werden kann. Das chroot root dir des webs ist: /var/www/clients/client0/web2/, für den Cronjob ist dieses Verzeichnis also /

    Daher muss der Cron Befehl relatib zum webroot angegeben werden, also statt:

    /var/www/clients/client0/web2/flow geocode:all

    /flow geocode:all

    Beachte bitte dass alle Befehle und Dateien die in Deinem Script "flow" verwendet werden auch im chroot vorhanden sein müssen.
     
  5. tommsen77

    tommsen77 New Member

    erstmal Danke für die Antwort. Ich probiers jetzt relativ zum chroot.

    Warum funktioniert dann aber der 1. Job?
    Kann ich auch "full cron jobs" benutzen, wenn ja wie?
    Sind die Beispiele in der ISPconfig Oberfläche dann evtl. etwas schlecht gewählt? (e.g. /var/www/clients/client1/myscript.sh or http://www.mydomain.com/path/script.php)

    flow ist ein reines PHP-Script, das sollte doch funktionieren ohne das ich das php cli script ins chroot bin-Verzeichnis kopiere oder?
    Muss ich den Shebang (#!/usr/bin/env php) noch anpassen?

    viele Fragen, sorry...

    Gruß, Thomas
     
  6. Till

    Till Administrator

    Wahrscheinlich ist es ein job ohne chroot. Ob ein Job ein chroot hat ider nicht setzt Du in den Kunden Einstellungen.

    Wenn es php-cli ist, wird es nicht im chroot funktionieren. Wenn es ein normales php script ist, dann kannst Du es einfach in das web Verzeichhnis kopieren und in flow.php umbenennen, den shebang am Anfang entfernen und dann im Cronjob die URL angeben also http://www.deinedomain.de/flow.php
    Dann wird automatisch ein url cron erstellt.
     
  7. tommsen77

    tommsen77 New Member

    das ist ein cli script. Ich hab mir jetzt einen Shelluser für die Domain angelegt und dort einen normalen cron eintrag erzeugt. Läuft.
     
  8. Till

    Till Administrator

    Die Domain hatte bereits einen Shell User wie jede Webseite in ISPConfig, den hättest Du einfach nehmen können. Oder aber Du hättest einfach cron auf full cron in den Kundelimits umgeschaltet und den cron dann in ispconfig neu erstellt, dann würde er auch ohne chroot laufen.
     

Diese Seite empfehlen