Hintergrund-Jobs (Cron)
owncloud.online erledigt Aufräum- und Wartungsarbeiten in Hintergrund-Jobs: Papierkorb und alte Dateiversionen ausräumen, Freigaben ablaufen lassen, Vorschaubilder erzeugen, Benachrichtigungen und Aktivitäts-Mails versenden, Verzeichnisse mit externem Speicher aktualisieren. Ist die Ausführung nicht korrekt eingerichtet, laufen diese Aufgaben nie — die Instanz wirkt zunächst normal, wächst aber unbegrenzt und verschickt keine Mails.
Ausführungsarten
| Modus | Auslöser | Bewertung |
|---|---|---|
| Cron | System-Cron ruft cron.php auf |
empfohlen, einzige zuverlässige Variante |
| AJAX | Jeder Seitenaufruf eines angemeldeten Benutzers | Jobs bleiben liegen, solange niemand angemeldet ist |
| Webcron | Externer Dienst ruft cron.php per HTTP auf |
nur wenn kein System-Cron möglich ist |
Einrichtung mit System-Cron
sudo crontab -u www-data -e
Eintrag (alle 15 Minuten — kürzere Abstände bringen nichts, längere lassen Aufgaben liegen):
*/15 * * * * /usr/bin/php8.4 -f /var/www/owncloud.online/cron.php
Danach den Modus in owncloud.online auf Cron umstellen:
sudo -u www-data php8.4 /var/www/owncloud.online/occ background:cron
Umschalten auf die anderen Modi geht analog mit background:ajax bzw.
background:webcron.
Prüfen, ob die Jobs laufen
# Zustand der Warteschlange
sudo -u www-data php8.4 /var/www/owncloud.online/occ background:queue:status
# eingestellter Modus (erwartet: cron)
sudo -u www-data php8.4 /var/www/owncloud.online/occ config:app:get core backgroundjobs_mode
# Zeitpunkt des letzten Laufs (Unix-Zeit)
sudo -u www-data php8.4 /var/www/owncloud.online/occ config:app:get core lastcron
lastcron sollte nie älter als etwa 15 Minuten sein. In der Weboberfläche
zeigt Einstellungen → Administration → Allgemein denselben Zeitpunkt an und
warnt, wenn er zu lange zurückliegt.
Einen Lauf zum Testen manuell anstoßen:
sudo -u www-data php8.4 /var/www/owncloud.online/cron.php
Typische Fehler
| Symptom | Ursache |
|---|---|
| „Letzte Cron-Ausführung war vor …" | Cron-Eintrag fehlt, oder er läuft unter dem falschen Benutzer |
| Jobs laufen nur bei aktiven Benutzern | Modus steht noch auf AJAX |
| Papierkorb/Versionen wachsen unbegrenzt | Cron läuft nicht — lastcron prüfen |
| Keine Benachrichtigungs-Mails | Cron läuft nicht, oder SMTP ist nicht konfiguriert (siehe Linux-Server) |
| Fehler nur im Cron-Lauf | Cron muss als www-data laufen, nicht als root — sonst gehören neue Dateien root |
Hängengebliebene oder fehlerhafte Läufe stehen im Protokoll, siehe Serverprotokoll und Fehlermeldungen.