Ein Cronjob führt automatisch Aufgaben zu festgelegten Zeiten aus. In diesem Handbuch erklären wir, wie Sie Cronjobs in DirectAdmin einrichten. Dies kann Ihnen helfen, Zeit zu sparen und sicherzustellen, dass wichtige Aufgaben regelmäßig ausgeführt werden, ohne dass Sie manuell darauf achten müssen.

Was ist ein Cronjob?

Ein Cronjob (oder Cron-Aufgabe) ist eine geplante Aufgabe, die automatisch zu bestimmten Zeiten ausgeführt wird. Dies kann von täglichen Datenbanksicherungen bis hin zur Erstellung wöchentlicher Berichte variieren. Hier sind einige Beispiele für gängige Cronjobs:

  • Tägliche Datenbanksicherung
  • Stündlich Cache leeren
  • Wöchentlichen Bericht generieren
  • Skripte periodisch ausführen

Cronjobs sind besonders nützlich für Webentwickler und Systemadministratoren, da sie repetitive Aufgaben automatisieren und so die Wahrscheinlichkeit menschlicher Fehler verringern.

Cronjob erstellen

Schritt 1: Navigieren Sie zu Cron Jobs

  1. Melden Sie sich bei DirectAdmin an
  2. Gehen Sie im Menü zu Cron Jobs
  3. Sie sehen eine Übersicht der vorhandenen Cronjobs

Schritt 2: Neuen Cronjob hinzufügen

  1. Klicken Sie auf Add Cron Job oder Cronjob hinzufügen
  2. Geben Sie die Zeit ein (siehe unten)
  3. Geben Sie den Befehl ein
  4. Klicken Sie auf Add oder Hinzufügen

Timing konfigurieren

Ein Cronjob verwendet 5 Zeitfelder:

Feld Bereich Bedeutung
Minute 0-59 In welcher Minute
Stunde 0-23 In welcher Stunde
Tag 1-31 An welchem Tag des Monats
Monat 1-12 In welchem Monat
Wochentag 0-7 An welchem Tag (0 und 7 = Sonntag)

Häufig verwendete Zeitpläne

Hier sind einige häufig verwendete Zeitpläne für Cronjobs:

  • Jede Minute:
    * * * * *
  • Jede Stunde:
    0* * * *
  • Alle 15 Minuten:
    */15 * * * *
  • Jeden Tag um 3:00:
    0 3 * * *
  • Jeden Montag um 9:00:
    0 9* * 1
  • Jeden Werktag um 7:30:
    30 7* * 1-5
  • Erster Tag des Monats:
    0 0 1* *

Beispiele für Befehle

Hier sind einige Beispiele für Befehle, die Sie in Ihren Cronjobs verwenden können:

WordPress-Cron ausführen

/usr/local/bin/php /home/user/domains/example.nl/public_html/wp-cron.php

PHP-Skript ausführen

/usr/local/bin/php /home/user/domains/example.nl/public_html/scripts/backup.php

Datenbanksicherung

/usr/bin/mysqldump -u user -p'wachtwoord' database > /home/user/backups/db-$(date +\%Y\%m\%d).sql

URL abrufen (Webhook)

/usr/bin/wget -q -O /dev/null https://example.nl/cron-endpoint

Cache leeren

rm -rf /home/user/domains/example.nl/public_html/cache/*

Cronjob verwalten

Bearbeiten

  1. Gehen Sie zu Cron Jobs
  2. Klicken Sie auf den Cronjob
  3. Ändern Sie die Zeit oder den Befehl
  4. Klicken Sie auf Save

Deaktivieren

  1. Fügen Sie # am Anfang des Befehls hinzu
  2. Der Cronjob wird übersprungen, aber nicht gelöscht

Entfernen

  1. Gehen Sie zu Cron Jobs
  2. Wählen Sie den Cronjob aus
  3. Klicken Sie auf Delete

Ausgabe und Protokollierung

Ausgabe in Datei

0 3 * * * /usr/local/bin/php /path/to/script.php >> /home/user/logs/cron.log 2>&1

Ausgabe ignorieren

0 3* * * /usr/local/bin/php /path/to/script.php > /dev/null 2>&1

>> datei hängt die Ausgabe an eine Protokolldatei an, > /dev/null verwirft sie und 2>&1 leitet Fehlermeldungen an dieselbe Stelle weiter. Hinweis: In DirectAdmin tragen Sie die Zeit in die fünf Zeitfelder ein; in das Feld Command gehört nur der Teil ab /usr/local/bin/php. Prüfen Sie die Protokolldatei nach der geplanten Ausführungszeit, um zu sehen, ob alles funktioniert hat.

Ausgabe per E-Mail

DirectAdmin kann die Cronjob-Ausgabe per E-Mail senden. Stellen Sie dies über die Einstellungen von Cron Jobs ein. Dies kann nützlich sein, um über Fehler oder Probleme informiert zu bleiben, die bei der Ausführung des Cronjobs auftreten.

WordPress und Cronjobs

WordPress verwendet standardmäßig WP-Cron (wp-cron.php), das geplante Aufgaben nur ausführt, wenn jemand Ihre Website besucht. Bei wenig Traffic ist das unzuverlässig, bei viel Traffic eine unnötige Belastung. Ersetzen Sie es deshalb durch einen echten Cronjob:

  1. Deaktivieren Sie WP-Cron in wp-config.php:
  2. define('DISABLE_WP_CRON', true);
  3. Fügen Sie einen echten Cronjob hinzu, der alle 15 Minuten läuft (Minute */15, übrige Zeitfelder *), mit diesem Befehl:
  4. /usr/local/bin/php /home/user/domains/example.nl/public_html/wp-cron.php > /dev/null 2>&1

Häufige Probleme

Cronjob funktioniert nicht

Wenn Ihr Cronjob nicht funktioniert, sind hier einige Schritte, die Sie zur Fehlersuche unternehmen können:

  1. Überprüfen Sie den Pfad: Stellen Sie sicher, dass Sie vollständige Pfade in Ihren Befehlen verwenden.
  2. Überprüfen Sie Berechtigungen: Wenn Sie ein PHP-Skript über /usr/local/bin/php aufrufen, genügt Leserecht (644). Nur ein Shell-Skript, das Sie direkt ausführen, benötigt 755.
  3. Überprüfen Sie die Ausgabe: Leiten Sie die Ausgabe in eine Protokolldatei um, um Fehlermeldungen zu überprüfen.
  4. Testen Sie manuell: Führen Sie den Befehl über SSH aus, um zu sehen, ob er funktioniert.

Falsche PHP-Version

Wenn Sie eine bestimmte PHP-Version benötigen, geben Sie diese in Ihrem Cronjob an:

/usr/local/php81/bin/php /path/to/script.php

Der Pfad /usr/local/bin/php verwendet die Standard-PHP-Version des Servers. Weitere PHP-Versionen liegen unter DirectAdmin in /usr/local/phpXX/bin/php, zum Beispiel /usr/local/php81/bin/php für PHP 8.1. Verwenden Sie dieselbe Version wie Ihre Website.

Befehl nicht gefunden

Verwenden Sie immer vollständige Pfade (z. B. /usr/bin/wget anstelle von wget). Dies verhindert "Befehl nicht gefunden"-Fehler.

Tipps

  1. Testen Sie zuerst manuell: Führen Sie den Befehl über SSH aus, bevor Sie den Cronjob erstellen, um sicherzustellen, dass er funktioniert.
  2. Verwenden Sie Protokollierung: Leiten Sie die Ausgabe in eine Protokolldatei um, um Probleme einfach diagnostizieren zu können.
  3. Nicht zu häufig: Vermeiden Sie Cronjobs jede Minute, es sei denn, es ist absolut notwendig. Dies kann Serverressourcen unnötig belasten.
  4. Backup-Skripte testen: Überprüfen Sie regelmäßig, ob Ihre Backups tatsächlich funktionieren und dass Sie sie wiederherstellen können.
  5. Verwenden Sie vollständige Pfade: Dies verhindert häufige Fehler und macht Ihre Cronjobs zuverlässiger.
  6. Verteilen Sie schwere Aufgaben: Planen Sie schwere Cronjobs zu unterschiedlichen Zeiten, damit sie nicht gleichzeitig laufen und den Server unnötig belasten.

Cron-Syntax-Tipps

Die Cron-Syntax kann verwirrend sein. Hier sind einige nützliche Hilfsmittel:

Crontab Guru

Verwenden Sie crontab.guru, um Ihre Cron-Zeitplanung zu überprüfen. Geben Sie Ihre Zeit ein und Sie sehen sofort, wann der Job läuft.

Sonderzeichen

  • * = jeder Wert
  • , = Liste von Werten (z. B. 1,3,5)
  • - = Bereich (z. B. 1-5)
  • / = Schrittwerte (z. B. */15 = alle 15)

Verwandte Artikel

  • DNS-Zonen-Editor in DirectAdmin verwenden
  • Speicherplatz und Quotas in DirectAdmin verwalten
  • E-Mail-Weiterleitung in DirectAdmin einrichten

Brauchen Sie Hilfe?

Wir sind für Sie da! Haben Sie Fragen oder stoßen Sie auf Probleme? Unser Support-Team hilft Ihnen gerne persönlich weiter. Senden Sie uns eine Nachricht über das Ticketsystem - wir antworten normalerweise innerhalb weniger Stunden und denken gerne mit Ihnen mit.

Suchen Sie WordPress-Hosting? Sehen Sie sich unser Angebot an.