Fehler im Cron-Job | Konfig wird nicht geladen



  • Hallo Leute

    Ich habe bei uns einen Cronjob eingerichtet, der mir nachfolgende Fehlermeldung produziert und entsprechend auch nichts tut.

    Notice: Constant CT_VERSION already defined in /home/___/public_html/churchtools/system/includes/constants.php on line 5
    Notice: Constant BUILD_VERSION already defined in /home/___/public_html/churchtools/system/includes/constants.php on line 8
    Notice: Constant CACHE_TAG already defined in /home/___/public_html/churchtools/system/includes/constants.php on line 9
    Notice: Constant ROOT already defined in /home/___/public_html/churchtools/system/includes/constants.php on line 12
    
    ...
    
    Notice: Constant TELEGRAMBOTURL already defined in /home/___/public_html/churchtools/system/includes/constants.php on line 81
    Notice: Constant MAX_SECURITY_LEVEL already defined in /home/___/public_html/churchtools/system/includes/constants.php on line 82
    Notice: Undefined index: SERVER_NAME in /home/___/public_html/churchtools/system/src/core/Config.php on line 17
        
            Sorry, but there is an Error:
            ChurchTools configuration file not found!
        
    Fatal error: Uncaught Error: Call to undefined function loadConfig() in /home/___/public_html/churchtools/system/local/cron.php:11
    Stack trace:
    #0 {main}
      thrown in /home/___/public_html/churchtools/system/local/cron.php on line 11
    

    Der Befehl für den Cron Aufruf lautet:
    cd /home/___/public_html/churchtools/; php system/local/cron.php

    Die Konfiguration liegt unter:
    /home/___/public_html/churchtools/sites/churchtools

    Diese wird leider nicht geladen. Wie kann ich das dem Cronjob beibringen wo diese liegt, bzw. wo die loadConfig zu finden ist?

    Kennt jemand das Problem oder hat gerade eine Lösung bereit, oder muss ich mich durch die cron.php und ihre includes durchkämpfen?

    Gruss
    Urs


    Self Hoster: v3.29.1


  • ChurchToolsMitarbeiter

    Benutze einfach folgendes um den Cron zu triggern:

    curl https://$YOUR_CHURCHTOOLS_URL/?q=cron&manual=true



  • Danke für den Ansatz, @davidschilling !

    Ich habe den Befehl noch leicht modifizieren müssen, um die HTML-Ausgabe und Transfer Statistik zu unterdrücken. Sonst kriege ich nach jeder Ausführung ein E-Mail.

    Mein Aufruf lautet jetzt wie folgt:
    curl -s -S "https://$MY_CHURCHTOOLS_URL/?q=cron&manual=true" -o /dev/null

    Ob die Option -S funktioniert konnte ich leider nicht prüfen oder einen Fehler provozieren. Die Idee dahinter ist jedoch, dass ich wiederum eine E-Mail kriege, wenn wirklich etwas fehlschlägt.
    Ich musste die URL zudem noch in Anführungszeichen setzen, da sonst die Weiterleitung der Ausgabe nicht funktioniert hat.

    Gruss
    Urs