Mit Linux meine ich einen Server - Debian 12 sofern relevant.
Du hast natürlich recht, die Website ist dank certbot nur mit https erreichbar. Der Code-Schnippsel zum testen des Cron war als Beispiel 1:1 aus der Dokumentation übernommen. Abgesehen von example.com würde er bei mir natürlich wie folgt aussehen:
sudo su www-data -s /bin/bash -c "/usr/bin/php /var/www/matomo/console core:archive --url=https://matomo.example.com"
Eingerichtet habe die den Cron wie in der Dokumentation beschrieben. Als erstes die entsprechende Cron-Datei mit
nano /etc/cron.d/matomo-archive
angelegt, und folgendes in diese Datei geschrieben:
Viel Ahnung habe ich davon auch nicht, dass ich jeden Fehler erkennen würde. Erkennbar sind für mich nur die Unterschiede deiner zur herkömmlichen Vorgehensweise.
Ob es funktioniert, wenn ein Crontab allein nur per nano und dann noch mit eigenst vergebenen Namen funktioniert, da bin ich überfragt. Weil der Cronjob bei dir jedoch nicht funktioniert, rate ich zur herkömmlichen Vorgehensweise.
Lösche deinen Crontab und gehe so vor:
(Beispiel mit editor nano)
crontab -e
[Insert mode. right mouse click available for paste]
Ctrl+o (save)
Ctrl+x (exit)
crontab -l
(Beispiel mit editor vim) (PS: Numpad nicht aktiv)
crontab -e
i
[Insert mode. right mouse click available for paste]
ESC [Taste]
ZZ (speichen)
ZQ (nicht speichern)
crontab -l
Das www-data ist zu viel im tatsächlichen Cronjob.
Das /usr/bin/php kann durch php ersetzt werden. In beiden Fällen wird immer das aktuelle default PHP verwendet.
PS: PHP kann auch auf der command line ausgeführt werden. Sprich, es kann auch so getestet werden: php '/path/to/matomo/console core:archive --url=https://matomo.example.com/' > /dev/null
Ohne Gewähr, weil ungetestet.
Wegen der Log-Datei. Mit dem Datumsteil wird jedesmal eine neue Logdatei angelegt. Das verschafft einen Überblick über die Dateigrößen und somit der erledigten “Arbeit” des Archivierungsprozesses. Regelmäßiges Löschen ist dann angesagt. Falls das nicht erwünscht ist, dann den Datumsteil weglassen.
Falls es im Log charset Probleme gibt, dann ein --no-ansi mit in die Zeile (command) packen.
Wenn ich das manuell teste, erstellt er die Datei mit folgender Fehlermeldung als Inhalt: Could not open input file: /var/www//matomo/console core:archive --url=https://analytics.example.com
Ich denke mal, weil der sudouser versucht auf die Dateien von www-data zuzugreifen, kann das sein? Wie fixe ich das?