So zeigen Sie Cron-Jobs an und listen Sie sie mit Crontab auf
Das cron-Dienstprogramm auf Unix-ähnlichen Betriebssystemen ermöglicht es Benutzern, Aufgaben (Befehle oder Skripte) automatisch zu bestimmten Zeiten oder Intervallen auszuführen. Egal, ob Sie einen Server warten oder automatisierte Aufgaben auf einem lokalen Computer verwalten, cron ist ein unverzichtbares Werkzeug für Systemadministratoren und Entwickler.
Dieser Artikel erklärt, wie Sie cron-Jobs anzeigen und auflisten können, indem Sie den crontab-Befehl verwenden, um geplante Aufgaben effizient zu verwalten.
Was ist der Crontab-Befehl?
Crontab (kurz für „cron-Tabelle“) ist eine Datei, die geplante Aufgaben für den cron-Daemon definiert. Jeder Benutzer auf einem System, einschließlich des root-Benutzers, kann seine eigene Crontab haben, die angibt, welche Aufgaben automatisiert werden sollen.
Ein Crontab-Eintrag folgt dieser Syntax:
* * * * * command_to_be_executed
| | | | |
| | | | +----- day of the week (0–7) (Sunday = 0 or 7)
| | | +---------- month (1–12)
| | +--------------- day of the month (1–31)
| +-------------------- hour (0–23)
+------------------------- minute (0–59)
Diese Struktur ermöglicht eine präzise Kontrolle darüber, wann Aufgaben ausgeführt werden, was cron zu einem leistungsstarken Automatisierungstool macht.
Wie man Cron-Jobs mit Crontab auflistet
Der crontab-Befehl ist das Hauptwerkzeug zur Verwaltung von cron-Jobs. Im Folgenden sind die häufigsten Möglichkeiten aufgeführt, um cron-Aufgaben aufzulisten.
1. Ihre eigenen Cron-Jobs anzeigen
Um die cron-Jobs für den aktuell angemeldeten Benutzer anzuzeigen, führen Sie aus:
crontab -l
Dieser Befehl listet alle geplanten cron-Jobs für den aktuellen Benutzer auf. Wenn keine cron-Jobs vorhanden sind, kann er eine leere Ausgabe oder eine Nachricht zurückgeben, die angibt, dass keine Crontab definiert ist.
Beispielausgabe:
# m h dom mon dow command
0 0 * * * /home/user/backup.sh
30 2 * * 7 /home/user/scripts/cleanup.sh
In diesem Beispiel:
- Ein Backup-Skript wird täglich um Mitternacht ausgeführt.
- Ein Bereinigungsskript wird jeden Sonntag um 2:30 Uhr ausgeführt.
2. Cron-Jobs für einen anderen Benutzer auflisten
Wenn Sie sudo oder Root-Rechte haben, können Sie die cron-Jobs für einen anderen Benutzer mit dem -u-Flag anzeigen:
sudo crontab -l -u username
Ersetzen Sie username durch den tatsächlichen Benutzernamen. Zum Beispiel:
sudo crontab -l -u john
Dies zeigt alle cron-Jobs an, die für den angegebenen Benutzer geplant sind.
3. Systemweite Cron-Jobs auflisten
Zusätzlich zu benutzerspezifischen cron-Jobs gibt es systemweite cron-Aufgaben, die vom System oder vom Root-Benutzer geplant werden. Diese werden typischerweise in folgendem Verzeichnis gespeichert:
/etc/crontab/etc/cron.d//var/spool/cron/crontabs/
Um die Hauptsystem-Crontab-Datei anzuzeigen, führen Sie aus:
cat /etc/crontab
Beispielausgabe:
SHELL=/bin/sh
PATH=/usr/bin:/usr/sbin
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
Diese Konfiguration plant stündliche, tägliche, wöchentliche und monatliche Wartungsaufgaben für das System.
Um zusätzliche System-Cron-Dateien aufzulisten, führen Sie aus:
ls /etc/cron.d/
Jede Datei in diesem Verzeichnis kann zusätzliche geplante Aufgaben für Systemdienste definieren.
4. Cron-Jobs in /var/spool/cron anzeigen
Benutzerspezifische Crontab-Dateien werden normalerweise in /var/spool/cron/crontabs gespeichert. Um sie aufzulisten:
ls /var/spool/cron/crontabs
Um den Inhalt der Crontab-Datei eines bestimmten Benutzers anzuzeigen:
cat /var/spool/cron/crontabs/username
Dies liefert die gleiche Ausgabe wie crontab -l -u username.
Cron-Jobs bearbeiten
Um cron-Jobs für den aktuellen Benutzer zu bearbeiten oder hinzuzufügen, führen Sie aus:
crontab -e
Dies öffnet die Crontab-Datei im Standard-Texteditor. Nach dem Speichern und Beenden treten die Änderungen sofort in Kraft.
Beispiel: Führen Sie ein Skript jeden Tag um 3:00 Uhr aus:
0 3 * * * /home/user/script.sh
Häufige Crontab-Auflistungsbefehle
- Aktuelle Cron-Jobs des Benutzers auflisten:
crontab -l - Cron-Jobs eines anderen Benutzers auflisten (sudo erforderlich):
sudo crontab -l -u username - System-Crontab anzeigen:
cat /etc/crontab - Cron-Dateien in /etc/cron.d/ auflisten:
ls /etc/cron.d/ - Benutzerspezifische Crontabs auflisten:
ls /var/spool/cron/crontabs
Fazit
Das Anzeigen und Auflisten von cron-Jobs mit crontab ist eine einfache, aber leistungsstarke Möglichkeit, geplante Aufgaben auf Unix-ähnlichen Systemen zu verwalten. Egal, ob Sie persönliche Automatisierungen oder systemweite Wartungsaufgaben durchführen, das Verständnis dieser Befehle stellt sicher, dass Ihre Jobs zuverlässig und pünktlich ausgeführt werden.
Durch das Beherrschen von cron können Sie wiederkehrende Aufgaben automatisieren, Backups verwalten und eine konsistente Ausführung von Skripten in Ihrer Umgebung aufrechterhalten.
