Frage zu Cronjobs

logifech

Active Member
Hallo Zusammen,
und zwar hab eich da mal eine kurze Frage, ich habe als kunde einen Cron JOB angelegt diesem Kundne habe ich aber nur URL Crons erlaubt. nun die Frage ich habe eine Wordpress Installation unter einer zusatz PHP version laufen nun habe ich folgendes beim Cron job eingetragen.
"/opt/php-5.5.24/bin/php /var/www/clients/clientx/webx/web/wp-cron.php" eingetragen. Jetzt habe ich mich dann gestern nochmal per ftp auf dem Webspace vernbunden und siehe da dort wurden viele verschiedene verzeichnisse angelegt "bin, dev, etc, lib, lib64, usr, var" nun stellt sich mir die Frage warum?? Ich habe keinen SSH user angelegt lediglich den cron.
 

Till

Administrator
Du hast wahrscheinlich einen jailed cronjob angelegt und diese Verzeichnisse gehören zum jail.
 

Till

Administrator
Ok, das ist merkwürdig, da ich definitiv als Kunden Limit URL Cron aktiviert habe.

Du hast den cronjob aber sicherlich als admin und nicht als Kunde angelegt? Denn der obige cronjob ist ja kein url cron sondern ein shell cronjob vom befehl her und als Admin kannst Du dich natürlich über Kunden Limits hinweg setzen. Wenn es ein URL Cronjob wäre, dann würde der Befehl mit http:// bzw https:// anfangen (halt einer URL).
 

logifech

Active Member
Du hattest recht Till! Wenn ich den Cron Job aus ISPCOnfig entferne bleiben diese Ordner ja trotzdem bestehen kann bzw. darf ich diese dann einfach löschen??

Habe da evtl ein Problem entdeckt. Kann es sein das er Cronjbs bzw, php scripte nicht mit cron ausführt wenn diese unter einer anderen version laufen als die vom system verwendete Standard version?
habe jetzt als cron job den typo3 scheduler angelegt mit folgendem Pfad.
scheduler
Code:
/opt/php-5.5.27/bin/php -f /var/www/clients/client1/web1/web/typo3/cli_dispatch.phpsh scheduler
und dieser wird nicht ausgeführt. Wenn die website jedoch mit der System Standard php version funktioniert und ich dann den cronjob wie folgt aufrufe
Code:
/usr/bin/php -f /var/www/clients/client1/web1/web/typo3/cli_dispatch.phpsh scheduler
läuft dieses.
Der cron job ist als chrooted cron angelegt und soll eigentlich auch so bleiben.
Kann das Problem jemand bestätigen?
 
Zuletzt bearbeitet:

Till

Administrator
Schau mal ins syslog. Ich hab hier auch jailed cronjobs, bislang keine Probleme damit ghabt. Du kannst natürlich nur das an programmen im jail ausführen, was auch im jail drin ist.
 

logifech

Active Member
Hi Till,
also im Syslog steht nix drinne, das heißt ich muss in die jk_init.ini auch noch die ganzen php sachen rein schreiben die ich selber in /opt/php-5.x.x compiliert habe? Aber was ich nicht vertsehe ist er legt ja selbst diese test.txt datei nicht an d.h ja das cron garnicht erst läuft.

Das einzige das im Syslog steht ist
Code:
Jul 31 03:07:01 ISP05 /usr/sbin/cron[1795]: (*system*ispc_chrooted_web1) RELOAD (/etc/cron.d/ispc_chrooted_web1)
Jul 31 03:09:01 ISP05 /USR/SBIN/CRON[7824]: (web1) CMD (/opt/php-5.5.27/bin/php /var/www/clients/client1/web1/web/typo3/cli_dispatch.phpsh #adcanco-online.de)

Die Datei test.txt legt er leider trotzdem nicht an, ich sehe auch nur den Cron von Typo3 und den anderen nicht.
 
Zuletzt bearbeitet:

robotto7831a

Well-Known Member
Laut dem Log wird der Cronjob ausgeführt.

Vermutung: PHP ist nicht im Jail. Lass doch mal die Errorausgabe in eine Datei umleiten.
 

logifech

Active Member
Ja das dachte ich mir, aber habe auch einen 2 Angelegt der eine datei in "/var/www/clients/clientx/webx/web" anlegen soll per touch dies amcht er leider nicht, aber warum? Die Pfade stimmen alle.
 

logifech

Active Member
habe bei dem cron job bei auszuführender befehl eingegeben "/bin/touch var/www/clients/clientx/webx/web/test.txt" Der cronjob soll als Jailed cron laufen und die Datei wird nicht angelegt.
Lege ich diesen jedoch al sFull Cron an werden alle sachen korrekt ausgeführt nur nicht als jailed.
 
Zuletzt bearbeitet:

logifech

Active Member
Jetzt führt er Ihn aus so eine Letzte Frage Typo3 läuft bei mir unter einer zusatz PHP-FPM version diese liegt unter /opt/php-5.5.27 muss ich diese version jetzt ebenfalls in die /et/jaillkit/jk_init.ini mit einfügen und das jail neu installieren damit der cronjob dann vernünftig läuft?
 

robotto7831a

Well-Known Member
Alle Programme müssen im Jail verfügbar sein. Beispiel: Wenn Du unzip nutzen willst, muss unzip im Jail enthalten sein. Also das gleiche mit PHP.

In die jk_init PHP mit aufnehmen und dann mit jk_cp heißt es glaube ich das Programm dem Jailkit hinzufügen.
 

logifech

Active Member
Code:
[env]
comment = environment variables
executables = /usr/bin/env

[php]
comment = the php interpreter and libraries
executables = /usr/bin/php5
directories = /usr/lib/php5, /usr/share/php, /usr/share/php5, /etc/php5, /usr/share/php-geshi, [B]/usr/share/zoneinfo[/B]
includesections = env

[php55]
comment = php-5.4.43 interpreter
executables = /opt/php-5.4.43/bin/php5
directories = /opt/php-5.5.43, /usr/share/zoneinfo
includesections = env

[php55]
comment = php-5.5.27 interpreter
executables = /opt/php-5.5.27/bin/php5
directories = /opt/php-5.5.27, /usr/share/zoneinfo
includesections = env

[php55]
comment = php-5.6.11 interpreter
executables = /opt/php-5.6.11/bin/php5
directories = /opt/php-5.6.11, /usr/share/zoneinfo
includesections = env
habe das jetzt so eingefügt, denke das kann man so übernehmen oder?

EDIT:
Wenn ich das so übernehmen möchte bekomme ich folgenden error
Traceback (most recent call last):
File "/usr/sbin/jk_init", line 244, in <module>
main()
File "/usr/sbin/jk_init", line 241, in main
activateConfig(config, jail, args)
File "/usr/sbin/jk_init", line 161, in activateConfig
ji.handle_cfg_section(config,jail,cfg,section)
File "/usr/sbin/jk_init", line 107, in handle_cfg_section
self.didfiles = jk_lib.copy_binaries_and_libs(chroot, paths2, config['force'], config['verbose'], 1, try_hardlink=config['hardlink'],try_glob_matching=1,handledfiles=self.didfiles)
File "/usr/share/jailkit/jk_lib.py", line 642, in copy_binaries_and_libs
create_parent_path(chroot,os.path.dirname(file), be_verbose, copy_permissions=1, allow_suid=allow_suid, copy_ownership=retain_owner)
File "/usr/share/jailkit/jk_lib.py", line 464, in create_parent_path
os.mkdir(jailpath, 0755)
OSError: [Errno 13] Permission denied: '/var/www/clients/client1/web1/opt'
Das jail habe ich wie folgt "neu" gebaut
jk_init -c /etc/jailkit/jk_init.ini -f -k -j /var/www/clients/client1/web1 php
 
Zuletzt bearbeitet:

logifech

Active Member
Fehler gefunden! Ich musste das Immutable bit vorher entfernen. Andere fare wenn ich keien Cronjobs/SSH user merh habe hält er die ganzen verzeichnisse ja bei darf man die manuell entfernen?
 
Zuletzt bearbeitet:

logifech

Active Member
Es funktioniert ja jetzt alles zum Glück :) Die letzte frage wäre jetzt nur noch wenn ich keien Cronjobs/SSH user merh habe hält er die ganzen verzeichnisse ja bei darf man die manuell entfernen?
 

Werbung

Top