Hintergrund Jobs definieren¶
Ein System wie ownCloud erfordert es manchmal Aufgaben regelmäßig ohne Benutzerinteraktion durchzuführen ohne dabie die Leistung von ownCloud einmzuschränken. Zu diesem Zweck können die Systemadministratoren Hintergrund-Jobs (beispielsweise Datenbankaufräumarbeiten) ausführen lassen, die ohne Benutzereingriff ausgeführt werden.
Diese Jobs werden typischerweise als cron jobs bezeichnet. Cron-Jobs sind Befehle oder Shell-basierte Skripte, die geplant, regelmäßig zu festen Zeiten, Datumsangaben oder Zeitabständen ausgeführt werden. Die cron.php ist in ownCloud ein internen Prozess, welecher die Hintergrundjobs auf Anfrage ausführt.
ownCloud Plug-in-Anwendungen registrieren ihre Aktionen automatisch in der cron.php, wo sich diese z.Bsp., um die typischen Reinigungsoperationen, wie Müllsammeln von temporären Dateien, oder Prüfen von neu aktualisierten Dateien mit filescan() sowie um externe Dateisysteme, kümmert.
Parameter¶
Im Menü Admin-Einstellungen können Sie festlegen, wie Cron-Jobs ausgeführt werden sollen. Sie können zwischen den folgenden Optionen wählen:
- AJAX
- Webcron
- Cron
Cron Jobs¶
Mit AJAX, Webcron oder Cron - Sie können Cron-Jobs in dreierlei Hinsicht planen, als Standard-Methode wird AJAX verwendet. Allerdings ist die empfohlene Methode Cron zu verwenden. Die folgenden Abschnitte beschreiben die Unterschiede zwischen den einzelnen Methoden.
AJAX¶
Das AJAX-Scheduling-Verfahren ist die Standardoption. Unglücklicherweise ist diese jedoch auch die am wenigsten zuverlässigstee. Jedes Mal, wenn ein Benutzer die Seite besucht wird ownCloud einen einzelnen Hintergrundauftrag ausführen. Der Vorteil dieses Mechanismus ist es, das kein Zugriff auf das System oder die Registrierung erfolgt, und das Sytem nicht von einem Dritten gewartet werden muß. Der Nachteil dieses Mechanismus, verglichen mit dem Webcron Service, ist, dass es regelmäßige Abfragen der Seite erfordert, damit die Aufträge ausgelöst werden.
Webcron¶
Mit der Registrierung Ihrer ownCloud cron.php Scriptadresse bei einem externen Webcron Dienst (z.Bsp. easyCron), sorgt dieser dafür, dass Hintergrundjobs regelmäßig ausgeführt werden. Um diese Art von Service zu nutzen, muß der Server in der Lage sein, automatisch sich Zugang zum Internet zu verschaffen. Zum Beispiel über:
URL to call: http[s]://<domain-of-your-server>/owncloud/cron.php
Cron¶
Mit dem Betriebssystem Cron-Funktionen zu nutzen, ist die bevorzugte Methode zur Ausführung von regelmäßigen Aufgaben. Dieses Verfahren ermöglicht die Ausführung von geplanten Aufträgen ohne die inhärenten Einschränkungen der Web-Server haben zu müssen.
Um einen cron-Job auf einem * nix-System alle 15 Minuten unter dem Standard-Web-Server-Benutzer laufen zu lassen, müssen die Verzeichnisse (oft, www-data oder wwwrun) eingerichtet werden, der nachfolgende Cron-Job wird dann mit dem Anruf der cron.php Scriptdatei so ausgeführt:
# crontab -u www-data -e
*/15 * * * * php -f /var/www/owncloud/cron.php > /dev/null 2>&1
Sie können das auch überprüfen, ob der cron-Job wie geplant ausgeführt wurde, in dem Sie Folgendes eingeben:
# crontab -u www-data -l
*/15 * * * * php -f /var/www/owncloud/cron.php > /dev/null 2>&1
Hinweis
Auf einigen Systemen kann es erforderlich sein, die php-cli anstatt der php Datei aufzurufen.
Hinweis
Bitte beachten Sie, das die genauere Befehlssyntax im Crontab Handbuch beschrieben wird.