Crontab löst nicht den Versand der Activity-E-Mails aus

Hallo Community,

ich habe ein Problem beim Versand der Activity-EMails.

Der Background-Job ist richtig konfiguriert (über Cron) und der Versand von E-Mails (über SMTP) funktioniert auch ohne Probleme.

Der Cron-Job für den Versand der Activity-Emails ist in der Form:
0 * * * * /usr/bin/php -f /var/www/nextcloud/occ activity:send-mails hourly

Da der Cron-Job für den Background-Job funktioniert:
*/15 * * * * /usr/bin/php -f /var/www/nextcloud/cron.php

denke ich nicht, dass es an einer Fehlkonfiguration des Cron-Jobs an sich liegt.

Gebe ich den obigen Befehl in der CMD ein : php -f /var/www/nextcloud/occ activity:send-mails hourly

Wird das Activity-Email verschickt.

Hat jemand eine Idee woran das liegen könnte? Habe bereits alles möglich getestet und Google durchsucht, aber nichts gefunden was mir geholfen hat.

Gruß,
DerClouder

?? ja was genau ist dein problem Falscher versand / alles wird gesendet / kein versand ?
Was sagt die error.log der cloud und was die der php ^^

hast du mal unter den “zb unter Persönlich / Aktivität” einstellungen alle hacken raus oder schon gar keinen drin ? ^^

Es findet gar kein Versand statt.

Dies lässt sich auch dahin validieren bzw. reproduzieren, dass wenn ich den Befehl in die CMD eintrage und ausführe, dass dann alle “angelaufenen” Activity-Meldungen ausgespuckt werden.

Unter Persönlich / Aktivität habe ich alles angehackt und auch die beiden Punkte darunter, dass man über die eigenen Aktivitäten informiert werden soll.

In der error.log ist nichts zu finden. Auf den php-log habe ich keinen Zugriff, da ich bei meinem Hoster keinen Zugriff auf root habe.

Hmm der hoster Lässt aber den php veersand zu? und die Mails landen nicht im spam oder werden Blockiert?

und unter Zusätzlichen einstellungen des admins hast du was angegeben ?

Wenn ich unter Administrator -> Zusätzliche Einstellungen -> E-Mail-Server den Sendemodus auf PHP stelle, kommen die Test-Mails an, ebenfalls auch die mit Sendemodus “SMTP”.

Ändere ich z.B. meine Mail-Adresse oder das Passwort bekomme ich eine entsprechende Mail, dass eine Änderung des jeweiligen stattgefunden hat.

Nur halt die Activity-Mails gehen nicht raus. Bei früheren Nextcloud-Versionen, wo das noch über den Background-Cronjob ging, gab es da auch keine Probleme mit.

Habe die Lösung selbst gefunden:

anstatt /usr/bin/php habe ich /usr/local/bin/php verwendet und damit funktioniert es…

Hallo Freud mich ^^

Das du es gefunden hast ich hab mir auch gedanken gemacht an was das wieder liegen könnte ^^

aber jetzt damit nicht alles um sonst ist :wink:

Beschreibe bitte genau was einer machen müste um den fehler beheben zu können :wink: und makire es dann anschießend als lösung damit andere nicht lange suchen müssen ^^ und wieder ihre energi in andere fehler und probleme stecken können DANKE

Im “Nextcloud 12 Server Administration Manual” ist unter “Server Configuration” -> " “Better scheduling of activity emails” und “Defining Background Jobs -> Cron Jobs” zu lesen wie man die Cron Jobs für Nextcloud anlegt:

Activity emails : https://docs.nextcloud.com/server/12/admin_manual/configuration_server/activity_configuration.html#better-scheduling-of-activity-emails

Laut Anleitung wäre der Befehl für den CronJob bei

Activity emails für einen stündlichen Aufruf :

0 * * * * php -f /var/www/nextcloud/occ activity:send-mails hourly

Background Jobs :

*/15 * * * * php -f /var/www/nextcloud/cron.php

Wenn man Nextcloud nicht gerade auf einen eigenen Server laufen lässt, sondern bei einem Webhoster muss man obiges entsprechend anpassen:

Schritt 1)
"/var/www/nextcloud/" muss man durch den beim Hoster verwendeten “absoluten Pfad” zur jeweiligen Datei ersetzen (findet man mit der phpinfo Funktion ( z.B. https://www.php-kurs.com/phpinfo.htm ) unter “PHP Variables” bei “$_SERVER[‘DOCUMENT_ROOT’]” .

Schritt 2)
sollte das dann laufen ist man mit der Konfiguration schon soweit fertig,

Schritt 3)
sollte das nicht funktionieren, kann man ebenfalls mit Hilfe der phpinfo Funktion den “$_SERVER[‘PATH’]” unter “PHP Variables” auslesen, dort steht dann z.B.

$_SERVER[‘PATH’] : /usr/local/bin:/usr/bin:/bin

In meinem Fall gäbe es drei Pfade für PHP : /usr/local/bin , /usr/bin und /bin

dies setzt man nun vor dem “php” Befehl der in der Anleitung erwähnt wird, z.B. :

0 * * * * php -f /var/www/nextcloud/occ activity:send-mails hourly

wird zu:

0 * * * * /usr/local/bin/php -f /var/www/nextcloud/occ activity:send-mails hourly
oder
0 * * * * /usr/bin/php -f /var/www/nextcloud/occ activity:send-mails hourly
oder
0 * * * * /bin/php -f /var/www/nextcloud/occ activity:send-mails hourly

“/usr/bin/” hatte bei mir nun nicht funktioniert, aber mit “/usr/local/bin/” funktionierte es dann. Hoffe mal das war jetzt verständlich genug :wink:

1 Like