Zum Inhalt

Cron und Wartungsfenster

Richte zuerst die regelmäßigen Hintergrundjobs ein. Anschließend legst Du fest, wann geeignete tägliche Aufgaben ausgeführt werden sollen.

Hintergrundjobs mit Cron einrichten

Nach der abgeschlossenen Nextcloud-Installation legen wir einen Cronjob für den Webserverbenutzer www-data an. Alle fünf Minuten wird cron.php ausgeführt. Die folgenden Shell-Befehle werden als Administrator ausgeführt:

apt install cron
systemctl enable --now cron
sudo -u www-data php -d apc.enable_cli=1 /var/www/nextcloud/occ background:cron
crontab -u www-data -e

Füge in dieser Benutzer-Crontab eine eigene Zeile ein, ohne bereits vorhandene Aufgaben zu löschen. Anders als in /etc/crontab wird hier kein Benutzername ergänzt:

*/5 * * * * /usr/bin/php -d apc.enable_cli=1 -f /var/www/nextcloud/cron.php

/usr/bin/php muss auf eine von Deiner Nextcloud-Version unterstützte PHP-CLI-Version zeigen. Prüfe dies mit /usr/bin/php -v und /usr/bin/php --ini; Webserver und CLI können unterschiedliche Versionen und Konfigurationsdateien verwenden.

Kontrolle: Zuerst einen Durchlauf manuell starten:

sudo -u www-data /usr/bin/php -d apc.enable_cli=1 -f /var/www/nextcloud/cron.php
crontab -u www-data -l

Ein erfolgreicher Durchlauf muss keine Ausgabe erzeugen. Prüfe anschließend in den Administrationseinstellungen unter „Grundeinstellungen“ den Cron-Modus und nach einigen Minuten den Zeitpunkt der letzten Ausführung. Fehler bei fehlenden PHP-Modulen oder Cache-Zugriffen zuerst beheben. Das Wartungsfenster allein ersetzt diese Einrichtung nicht.

Die Einstellung 'maintenance_window_start' => 1, bezieht sich auf 01:00 UTC und verschiebt geeignete tägliche Aufgaben in ein vierstündiges Fenster. Andere Jobs laufen weiterhin regelmäßig.

Wartungsfenster festlegen

Der Server hat keine konfigurierte Startzeit für das Wartungsfenster. Das bedeutet, dass ressourcenintensive tägliche Hintergrundaufgaben auch während Ihrer Hauptnutzungszeit ausgeführt werden. Wir empfehlen, das Wartungsfenster auf eine Zeit mit geringer Nutzung festzulegen, damit Benutzer weniger von der Belastung durch diese umfangreichen Aufgaben beeinträchtigt werden.

Die Ziel am ende vor ); einfügen.

root@nc:~# vi /var/www/nextcloud/config/config.php

'maintenance_window_start' => 1,

Die Stunde gilt in UTC und legt für geeignete tägliche Jobs ein vierstündiges Fenster ab 01:00 UTC fest. Diese Einstellung wird nur im Cron-Modus berücksichtigt; sie richtet selbst keinen Cronjob ein. Siehe den folgenden Abschnitt zu Hintergrundjobs.