Ergebnis 1 bis 14 von 14

Thema: cron einrichten

  1. #1
    Contao-Nutzer Avatar von Toad
    Registriert seit
    18.02.2010.
    Ort
    NRW
    Beiträge
    177

    Standard cron einrichten

    Hallo,

    in den Einstellungen findet sich der punkt "Den Command Scheduler deaktivieren".

    In der Hilfezeile steht:
    "Den Periodic Command Scheduler deaktivieren und das cron.php-Skript mittels eines echten Cronjobs (den Sie selbständig einrichten müssen) ausführen."

    Kann mir da jemand auf die Sprünge helfen? Hat jemand da ein script für mich?
    Muss ich einfach nur die cron.php ausführen? Wenn ja, mit welchen Regeln/Intervalen? Wenn nein, beeinflußt diese Einstellung eventuell andere module?

    Dank im voraus.
    while(!asleep()) {sheep++;}

  2. #2
    Contao-Nutzer Avatar von Toad
    Registriert seit
    18.02.2010.
    Ort
    NRW
    Beiträge
    177

    Standard

    Hab' das hier für contao 2 gefunden:

    Code:
    0 * * * * php /wwww/htdocs/contao/cron.php >/dev/null
    inklusive dem Rat, dass man in fe_page und be_login die Zeilen mit cron.php auskommentieren soll.

    Mit der Einstellung in contao 3 ist das Auskommentieren überflüßig, oder?


    Und die Zeile oben reicht tatsächlich um die cron.php auszuführen? Fehlt da nicht was?
    while(!asleep()) {sheep++;}

  3. #3
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.512
    User beschenken
    Wunschliste

    Standard

    Mit der Einstellung in contao 3 ist das Auskommentieren überflüßig, oder?
    Ja, zumindest was Frontend betrifft. Backend habe ich mir nicht angesehen, aber das sieht man ja im Template ob dort auch eine Abfrage drum rum ist.

    Und die Zeile oben reicht tatsächlich um die cron.php auszuführen? Fehlt da nicht was?
    Für Contao 3 müsste das so aussehen
    Code:
    0 * * * * php /wwww/htdocs/system/cron/cron.php  >/dev/null
    Der Pfad "/www/htdocs" ist natürlich anzupassen.
    Von PHP muss natürlich dazu die CLI (Kommandozeilen) Variante installiert sein.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  4. #4
    Contao-Nutzer Avatar von Toad
    Registriert seit
    18.02.2010.
    Ort
    NRW
    Beiträge
    177

    Standard

    Klingt gut. Demnach funkt. dein Integritycheck ja dann auch.

    Gefällt mir. Und wieder weniger Balast in der Seite.
    while(!asleep()) {sheep++;}

  5. #5
    Contao-Nutzer Avatar von Toad
    Registriert seit
    18.02.2010.
    Ort
    NRW
    Beiträge
    177

    Standard

    Hallo.

    Funktioniert fast.
    Ich bekomme einmal stündlich diese Meldungen:

    Code:
    HP Warning:  require(../initialize.php): failed to open stream: No such file or directory in /var/www/.../contao/system/cron/cron.php on line 18
    PHP Warning:  require(../initialize.php): failed to open stream: No such file or directory in /var/www/.../contao/system/cron/cron.php on line 18
    PHP Fatal error:  require(): Failed opening required '../initialize.php' (include_path='.:') in /var/www/.../contao/system/cron/cron.php on line 18
    Ich analysiere mal ... Wer was weiß, bitte melden!
    while(!asleep()) {sheep++;}

  6. #6
    Contao-Nutzer Avatar von Toad
    Registriert seit
    18.02.2010.
    Ort
    NRW
    Beiträge
    177

    Standard

    In Zeile 18 steht:

    Code:
    require '../initialize.php';
    Ich denke ich muss php mit dem contao-path starten. Hmmm.
    while(!asleep()) {sheep++;}

  7. #7
    Contao-Nutzer Avatar von Toad
    Registriert seit
    18.02.2010.
    Ort
    NRW
    Beiträge
    177

    Standard

    Ich probier 's mal so:

    Code:
    0 * * * * cd /var/www/.../contao/system/cron && php /var/www/.../contao/system/cron/cron.php > /dev/null
    Sollte hinhauen. In 15 Min. weiß ich es.

    Falls jemand weiß, was für ein Problem die Standardkonfiguration meines php-cli hat, bitte ich um Rat.
    while(!asleep()) {sheep++;}

  8. #8
    Contao-Nutzer Avatar von Toad
    Registriert seit
    18.02.2010.
    Ort
    NRW
    Beiträge
    177

    Standard

    Funktioniert!
    while(!asleep()) {sheep++;}

  9. #9
    Contao-Nutzer Avatar von Toad
    Registriert seit
    18.02.2010.
    Ort
    NRW
    Beiträge
    177

    Standard

    Jetzt habe ich aber doch noch eine Frage.

    Gerade eben war meine localconfig.php nicht beschreibbar. Kein wunder, war sie doch als root:root gekennzeichnet. Ich vermute, dass es mit dem zuvor durchgelaufenen cron-job zu tun hatte. cron läuft als root. Was auch immer da an der localconfig.php gefuchtelt wurde, das sollte so oder so nicht sein!!
    Da ich diese Datei händisch nicht angerührt habe macht mich das stutzig.

    Wenn cron (user1:group1) php aufruft und php dann eine php-Datei (user2:group2), welche Rechte hat dann php bei der Ausführung? user1:group1 oder user2:group2.
    Logisch wäre zunächst mal user1:group1, aber es kann ja sein, dass php sich nach der cron.php richtet und mit dessen Rechten ausführt. Das wäre zumindest ein Sicherheitsfeature.

    Das gefällt mir garnicht.

    Nun werde ich wohl noch ein sudo in die crontab mit drankritzeln müssen um die php-Rechte einzuschränken.

    Also: Vorsicht mit cron und php!!!!!
    while(!asleep()) {sheep++;}

  10. #10
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.512
    User beschenken
    Wunschliste

    Standard

    Ja, das macht Probleme wenn die User unterschiedlich sind. Aber da gibt es Abhilfe.
    Entweder den Cron Job für den Nutzer einbauen in dem auch die Webseite läuft, oder wenn es den root sein muss bei cron (keine gute Idee), dann per "su" Befehl auf den anderes User umschalten.
    Code:
    su -l user2 -c "command" 
    oder
    su - user2 -c "command"
    weiß ich grad nicht auswendig.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  11. #11
    Contao-Nutzer Avatar von Toad
    Registriert seit
    18.02.2010.
    Ort
    NRW
    Beiträge
    177

    Standard

    Danke. Hab' schon: su -c "Kommando ..." USER

    Ich weiß noch nicht, ob der User die Richtige Gruppe hat, aber so hat php jedenfalls keine root-Rechte mehr. Schlimmer als root-Rechte gibbet ja garnicht. Puh, Schock am Abend.

    Cron scheint es zu schlucken. Kein Fehler, alles gut.

    Im authlog auf 'm Server nervt auch ein ewiger Angriff aus china auf ssh mit allen Namen und abwechselnd root. Bruteforce, bzw. Wörterbuch. Da müsste ich auch mal 'n timeout und max-Versuche pro IP einfallen lassen.
    Das müsste doch möglich sein. Eine Key-Lösung wäre mir zu unflexibel. Nur wenn es sein muss.
    while(!asleep()) {sheep++;}

  12. #12
    Contao-Fan Avatar von syncgw
    Registriert seit
    17.07.2012.
    Beiträge
    313

    Standard

    Hi,
    ich kann noch nicht auf 3.x umstellen und würde aber trotzdem gerne die Ausführung in die crontab verlagern - muss ich bei 2.x etwas anders machen?
    __________________________________________
    Live long and prosper
    Florian

    Spenden GitHub

  13. #13
    Contao-Nutzer
    Registriert seit
    07.04.2013.
    Beiträge
    8

    Standard

    Hallo zusammen,

    da es hier bereits um Cron und Scheduler geht, hänge ich mich mal mit an: Was genau sind bzw. machen die beiden eigentlich? Im fe_page-Template findet sich zudem folgender Code:

    HTML-Code:
    <?php if (!$this->disableCron): ?>
    
    <script src="<?php echo TL_ASSETS_URL; ?>assets/contao/js/scheduler.js?t=<?php echo $this->cronTimeout; ?>" id="cron"></script>
    <?php endif; ?>
    Was verbirgt sich dahinter?

    Besten Dank im Voraus fürs Antworten auf diese womöglich "dummen" Fragen!

  14. #14
    Contao-Fan Avatar von Flaschenzug
    Registriert seit
    08.07.2010.
    Ort
    Berlin
    Beiträge
    312

    Standard

    Ein CronJob ist normalerweise ja ein "Script", dass eine bestimmte URL in einem definierten Zeitintervall aufruft.
    In Contao ist das ganze als "Command-Scheduler" bezeichnet. Eigentlich das gleiche, nur das ein CronJob extern ausgeführt wird.
    Der Command-Scheduler prüft, ob das Zeitintervall beim Aufruf überschritten wurde und führt dann gewisse Funktionen aus, z.B. das leeren des Contao-Caches.

    Aber eine Frage habe ich jetzt selbst zum Command-Scheduler.
    Da ich das ganze ja in den Systemeinstellungen deaktivieren kann, gehe ich davon aus, dass bei externem Aufruf alle Domains aktualisiert werden?
    Oder muss man dann für jede einzelne Domain (bei Multi-Domain Einsatz) einen CronJob anlegen?

    Danke und schönes Wochenende.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •