Cronjob mit Hertzner Webhosting Paket

Hallo zusammen,

ich hoffe ihr könnt mir helfen. Meine Suche hier im Forum hat leider noch keinen Erfolg gebracht. Ich nutze Matomo und versuche einen Cronjob einzurichten. Mein Webhosting Paket ist bei Hetzner und der Cronjob Manager dort bietet mir verschiedene Möglichkeiten an, welchen Interpreter ich verwenden kann. Klingt erstmal super. Mit der Matomo Doku zum Thema Cronjob erstellen, war ich der Meinung sicher gut voran zu kommen. Doch leider will es nicht so recht klappen. Ich bin sicher das Problem sitzt vor dem PC. Aber ich hoffe ihr könnt mir dennoch helfen. Denn ich habe nun verschiedene Versuche durch und bekomme immer ganz unterschiedliche Fehlermeldungen (je nach verwendetem Interpreter. Kann mir zufällig jemand folgende Dinge beantworten:

  1. Welchen Interpreter sollte ich nutzten?
  2. Welchen Skript (absoluter Pfad) muss ich eingeben?

Ich danke euch schon mal im Voraus für ein paar Tipps.

LG

ToolWheel

Hi ToolWheel, zur Einrichtung eines Cronjobs ist die Auswahl des Interpreters komplett egal. Bitte belass es dort bei der Voreinstellung, diese ist sicher die optimale. Wie Du dann einen Cronjob bei Hetzner einrichtest, erfährst Du sicher dort und nicht hier im Matomo-Forum. Auch den absoluten Pfad Deines Server wird hier niemand kennen. Sorry, so lautet aber meine Einschätzung.
Gruß Matthias

Hier hatte schon einmal wer ein Problem mit Matomo Cronjob bei Hetzner:

Weil’s gerade kurios ist: Bei Hetzner.

Habe bei einem Webhost (mit Cronjobs) seit längerem ein Matomo Crontab laufen. Soeben hat es den gelöscht, als er per Command Line mittels … Tastaturfehler … crontab (es fehlte -l) angezeigt werden sollte. Einfach weg.

Jetzt der Tipp für alle bei Hetzner:

Gehe in die Einstellungen (Hauptaccount) → Konfiguration → Cronjob Manager:

  • Erweiterte Ansicht

Dort kann das Gleiche eingegeben werden wie per Crontab per Command Line anlegen, falls das wer nicht kann.

Beispiel (Zur 5. Minute in jeder Stunde - Beispiel: 14:05, 15:05, 16:05, …):

5 * * * * php /usr/www/users/USERNAME/matomo.example.com/console core:archive --url=https://matomo.example.com/

Intervall:

* * * * *    
┬ ┬ ┬ ┬ ┬
│ │ │ │ └ Tag in der Woche (0-7) (Sonntag 0 oder 7)
│ │ │ └── Monat (1-12)
│ │ └──── Tag im Monat (1-31)
│ └────── Stunde (0-23)
└──────── Minute (0-59)

Falls keine Emails erwünscht:

5 * * * * php /usr/www/users/USERNAME/matomo.example.com/console core:archive --url=https://matomo.example.com/ > /dev/null

Falls eigene Matomo Logs erwünscht sind:
Ordner anlegen, in denen die Logs gespeichert werden sollen.
Beispiel: /usr/home/USERNAME/matomo-cronlogs/

5 * * * * php /usr/www/users/USERNAME/matomo.example.com/console core:archive --url=https://matomo.example.com/ > /usr/home/USERNAME/matomo-cronlogs/matomo-archive-$(date +"\%Y\%m\%d\%H\%M\%S").log

Da sammelt sich einiges an. Also regelmäßig den Ordner checken und leeren.

Danke dir für deine ausführliche Beschreibung. Leider hat das bei mir so nicht funktioniert. Ich habe mir das ganze jetzt per PHP noch mal anders zusammengebaut.

Für alle die das Problem auch mal haben sollten hier der Absolute Pfad (Script):

/usr/bin/php81 /usr/bin/php /usr/home/FTP-BENUTZER/public_html/MATOMOVERZEICHNIS/misc/cron/archive.php

Vielen dank allen die versucht haben mir so schnell zu helfen :slight_smile:

Das ist so nicht weiter zu empfehlen wie du es gemacht hast, weil public_html in

/usr/home/FTP-BENUTZER/public_html/

ist nur ein Softlink, der verweist zu

/usr/www/users/FTP-BENUTZER/

und da ist dann das Verzeichnis / der Ordner von Matomo, auf den die Domain verweist.

/usr/www/users/FTP-BENUTZER/MATOMOVERZEICHNIS/

Also bitte diesen Pfad benutzen.

Wieso das von mir erwähnte Beispiel

5 * * * * php /usr/www/users/USERNAME/matomo.example.com/console core:archive --url=https://matomo.example.com/

bei dir nicht funktioniert - weil es bei mir funktioniert - erschließt sich mir nicht. Da musst du einen Fehler beim Copy&Paste und dem Ersetzen der tatsächlichen Pfade / Domain gemacht haben.

Auch ist die Doppelnennung des Interpreters (PHP) sehr seltsam-

/usr/bin/php81 /usr/bin/php 

Da genügt

php

Damit wird stehts das default PHP, was meist das neueste (recommended) ist, benutzt. Bei deinem Crontab wird solange PHP 8.1 benutzt, bis es nicht mehr verfügbar ist, und erst dann Fallback zum Default.

Was bei dir komplett fehlt ist ein Intervall. Also hast du das vermutlich gar nicht - wie von mir beschrieben - über Erweiterte Ansicht gemacht, sondern über die konfuses HTML Input-Fields, Select-Buttons Einstellungen gemacht.