Geplante Aufgaben mit Cron
Automatisieren Sie wiederkehrende Serveraufgaben, indem Sie Cron-Jobs erstellen und verwalten, sodass Skripte und Befehle in festgelegten Intervallen ausgeführt werden.
Geplante Aufgaben mit Cron ist eine kostenlose Linux Server Deployment & SSH Mastery-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Linux Server Deployment & SSH Mastery-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Linux Server Deployment & SSH Mastery-Kurs umfasst insgesamt 4 Lektionen.
Warum Serveraufgaben automatisieren?
Manuelle Aufgaben auf einem Server können sich wiederholen und anfällig für menschliche Fehler sein. Durch Automatisierung sparen Sie Zeit und stellen sicher, dass Aufgaben einheitlich ausgeführt werden.
Stellen Sie sich vor, Sie müssten jede Nacht eine Datenbank sichern oder jede Woche alte Logdateien bereinigen. Das manuell zu erledigen ist mühsam und leicht zu vergessen.
Hier kommen Tools zur Aufgabenplanung ins Spiel. Sie ermöglichen es Ihrem Server, Aufgaben zu bestimmten Zeitpunkten oder in bestimmten Intervallen automatisch auszuführen, sodass Sie sich wichtigeren Arbeiten widmen können.
Lernen Sie Cron kennen: Die Aufgabenplanung Ihres Servers
Cron ist ein grundlegendes Linux-Dienstprogramm zur Aufgabenplanung. Es ist wie ein persönlicher Assistent für Ihren Server und stellt sicher, dass Befehle oder Skripte zu festgelegten Zeiten automatisch im Hintergrund ausgeführt werden.
Diese geplanten Aufgaben werden als cron jobs bezeichnet. Jeder Benutzer eines Systems kann eine eigene Liste von cron jobs besitzen, die in einer speziellen Datei namens crontab gespeichert wird.
Ihre Crontab bearbeiten
Um Ihre persönlichen cron jobs zu verwalten, verwenden Sie den Befehl crontab.
- Um Ihre crontab-Datei zu bearbeiten, geben Sie ein:
crontab -e - Um Ihre aktuellen cron jobs aufzulisten, geben Sie ein:
crontab -l - Um alle Ihre cron jobs zu entfernen, geben Sie ein:
crontab -r(Mit Vorsicht verwenden!)
Wenn Sie crontab -e ausführen, wird Ihre crontab im standardmäßigen Texteditor geöffnet, häufig nano oder vi.
Crontab-Syntax: Die Zeitfelder
Jede Zeile in Ihrer crontab steht für einen einzelnen cron job und folgt einem bestimmten Muster. Sie enthält fünf Zeitfelder, gefolgt von dem auszuführenden Befehl.
Das Format lautet:
minute hour day_of_month month day_of_week command- Minute: 0–59
- Stunde: 0–23 (0 ist Mitternacht)
- Tag des Monats: 1–31
- Monat: 1–12 (oder Jan–Dez)
- Wochentag: 0–7 (0 oder 7 ist Sonntag, 1 ist Montag)
Crontab-Syntax: Sternchen und Bereiche
Sie benötigen nicht immer genaue Zahlen. Cron bietet Sonderzeichen für mehr Flexibilität:
*(Sternchen): Entspricht jedem möglichen Wert für dieses Feld. Ein*im Minutenfeld bedeutet beispielsweise „jede Minute“.-(Bindestrich): Gibt einen Bereich an.9-17im Stundenfeld bedeutet beispielsweise „die Stunden 9 bis 17“.,(Komma): Gibt eine Liste von Werten an. BeispielsweiseMon,Wed,Frioder1,3,5für Wochentage./(Schrägstrich): Gibt Schrittweiten an.*/5im Minutenfeld bedeutet beispielsweise „alle 5 Minuten“.
Crontab-Syntax – Praktische Beispiele
Sehen wir uns einige häufige Beispiele an, um Ihr Verständnis zu festigen:
* * * * * /path/to/script.sh
Wird jede Minute ausgeführt.0 3 * * * /usr/bin/backup.sh
Wird täglich um 3:00 Uhr ausgeführt.0 9-17 * * 1-5 /usr/local/bin/check_service.py
Wird montags bis freitags jede Stunde von 9:00 bis 17:00 Uhr ausgeführt.*/15 * * * * echo "Hello, CoddyKit!"
Wird alle 15 Minuten ausgeführt.
Denken Sie daran, /path/to/script.sh durch den tatsächlichen Pfad zu Ihrem Befehl oder Skript zu ersetzen.
Besondere Crontab-Zeichenfolgen
Für sehr häufige Anforderungen an die Aufgabenplanung bietet Cron spezielle Zeichenfolgen, die leichter zu lesen sind als die Syntax mit fünf Feldern:
@reboot: Einmal beim Start ausführen.@hourly: Einmal pro Stunde, zu Beginn der Stunde, ausführen.@daily: Einmal täglich um Mitternacht ausführen.@weekly: Einmal wöchentlich, sonntags um Mitternacht, ausführen.@monthly: Einmal monatlich am ersten Tag des Monats um Mitternacht ausführen.@yearly(oder@annually): Einmal jährlich am 1. Januar um Mitternacht ausführen.
Diese Zeichenfolgen eignen sich hervorragend für einfache, wiederkehrende Aufgaben.
Umgebungsvariablen und Pfade
Wenn Cron einen Job ausführt, verwendet es nur eine sehr begrenzte Anzahl von Umgebungsvariablen. Das bedeutet häufig, dass Befehle, die in Ihrem Terminal funktionieren, in Cron fehlschlagen können.
So vermeiden Sie Probleme:
- Verwenden Sie für Befehle und Skripte immer absolute Pfade, etwa
/usr/bin/phpanstelle vonphp. - Sie können eine
PATH-Variable direkt in Ihrer crontab-Datei definieren, zum Beispiel:PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin - Alternativ können Sie Umgebungsvariablen direkt in Ihrem Skript festlegen.
Ausgabe und Protokollierung verwalten
Standardmäßig versucht Cron, jegliche Ausgabe (stdout und stderr) eines cron jobs per E-Mail an den Benutzer zu senden, dem die crontab gehört. Wenn kein E-Mail-System konfiguriert ist, geht diese Ausgabe möglicherweise verloren oder füllt Logdateien.
Es empfiehlt sich, die Ausgabe ausdrücklich umzuleiten:
- Um die gesamte Ausgabe zu verwerfen:
command > /dev/null 2>&1 - Um die Ausgabe an eine Logdatei anzuhängen:
command >> /var/log/myjob.log 2>&1
Der Teil 2>&1 leitet die Standardfehlerausgabe (2) an dieselbe Stelle wie die Standardausgabe (1) um.
Systemweiter Cron und Benutzer-Crontabs
Wir haben uns bisher auf persönliche Benutzer-Crontabs konzentriert, die mit crontab -e verwaltet werden. Sie eignen sich hervorragend für individuelle Aufgaben eines Benutzers.
Für systemweite Aufgaben verwenden Administratoren häufig:
/etc/crontab: Die zentrale System-Crontab, mit der Aufgaben unter bestimmten Benutzern ausgeführt werden können./etc/cron.d/: Ein Verzeichnis für separate Cron-Dateien, die häufig von Anwendungen installiert werden./etc/cron.hourly/,/etc/cron.daily/usw.: Verzeichnisse, in denen Skripte abgelegt werden, die von System-Cron in den entsprechenden Intervallen ausgeführt werden.
Diese Optionen auf Systemebene bieten mehr Kontrolle über die serverweite Automatisierung.
Testen Sie Ihr Cron-Wissen
Sie haben die Grundlagen der Crontab-Syntax gelernt. Sehen wir, ob Sie diesen cron job entschlüsseln können.
Zusammenfassung: Mit Cron automatisieren
Sie beherrschen nun die wichtigsten Grundlagen der Aufgabenplanung mit Cron.
Das haben Sie gelernt:
- Was ist Cron: Ein zeitbasierter Scheduler für Jobs.
- Crontab: Ihre persönliche Datei zum Definieren von cron jobs.
- Syntax: Die fünf Zeitfelder und Sonderzeichen (
*,-,,,/) verstehen. - Besondere Zeichenfolgen: Kurzformen wie
@hourlyund@reboot. - Bewährte Vorgehensweisen: Absolute Pfade verwenden und die Ausgabe verwalten.
Mit Cron können Sie alltägliche Aufgaben automatisieren und sicherstellen, dass Ihr Server reibungslos und effizient läuft.
Häufig gestellte Fragen
Ist die Lektion „Geplante Aufgaben mit Cron“ kostenlos?
Ja — der vollständige Text von „Geplante Aufgaben mit Cron“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Linux Server Deployment & SSH Mastery-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Linux Server Deployment & SSH Mastery-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Geplante Aufgaben mit Cron“?
Automatisieren Sie wiederkehrende Serveraufgaben, indem Sie Cron-Jobs erstellen und verwalten, sodass Skripte und Befehle in festgelegten Intervallen ausgeführt werden. Du übst Linux Server Deployment & SSH Mastery mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Linux Server Deployment & SSH Mastery zu starten?
Keine Vorkenntnisse erforderlich. Linux Server Deployment & SSH Mastery auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „Geplante Aufgaben mit Cron“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Linux Server Deployment & SSH Mastery-Lektion Code schreiben und ausführen?
Ja. Jede Linux Server Deployment & SSH Mastery-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Benutzer und Gruppen verwalten
- Systemprozesse überwachen
- Geplante Aufgaben mit Cron
- Systemdienste mit systemd verwalten