cronjobs laufen nicht

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?
 

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?
 

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
 

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.
 

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
 

Till

Administrator

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

flow ist ein reines PHP-Script, das sollte doch funktionieren ohne das ich das php cli script ins chroot bin-Verzeichnis kopiere oder?

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.
 

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.
 

Till

Administrator
Ich hab mir jetzt einen Shelluser für die Domain angelegt und dort einen normalen cron eintrag erzeugt.

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.
 

Werbung

Top