Frage zu Cronjobs

Dieses Thema im Forum "Installation und Konfiguration" wurde erstellt von logifech, 23. Apr. 2015.

  1. logifech

    logifech 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.
     
  2. Till

    Till Administrator

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

    logifech Member

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

    Till Administrator

    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).
     
  5. logifech

    logifech 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: 30. Juli 2015
  6. logifech

    logifech Member

  7. Till

    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.
     
  8. logifech

    logifech 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: 31. Juli 2015
  9. robotto7831a

    robotto7831a Member

    Laut dem Log wird der Cronjob ausgeführt.

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

    logifech 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.
     
  11. robotto7831a

    robotto7831a Member

    Als Pfad hast Du geschrieben /web oder?
     
  12. logifech

    logifech 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: 31. Juli 2015
  13. robotto7831a

    robotto7831a Member

    Schreib mal /web. Den andern Pfad kennt er im Jailed nicht.
     
  14. logifech

    logifech Member

    ok probiere es mal kurz
     
  15. logifech

    logifech 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?
     
  16. robotto7831a

    robotto7831a 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.
     
  17. logifech

    logifech 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
     
    Zuletzt bearbeitet: 31. Juli 2015
  18. logifech

    logifech 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: 31. Juli 2015
  19. robotto7831a

    robotto7831a Member

    Mach doch einfach jk_cp.
     
  20. logifech

    logifech 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?
     

Diese Seite empfehlen