Anzeigen und Auflisten von Cron-Jobs mit Crontab ⋆ ALexHost SRL

Testen Sie Ihre Fähigkeiten mit unseren Hosting-Diensten und erhalten Sie 15% Rabatt!

Code an der Kasse verwenden:

Skills
27.12.2024

Anzeigen und Auflisten von Cron-Jobs mit Crontab

Das Dienstprogramm cron in Unix-ähnlichen Betriebssystemen ermöglicht es Benutzern, Aufträge (Befehle oder Skripte) zu planen, die automatisch zu bestimmten Zeiten oder in bestimmten Intervallen ausgeführt werden. Ganz gleich, ob Sie einen Server warten oder automatisierte Aufgaben auf Ihrem lokalen Rechner verwalten, cron ist ein unverzichtbares Werkzeug für Systemadministratoren und Entwickler gleichermaßen.

In diesem Artikel wird erklärt, wie man Cron-Aufträge mit dem Befehl crontab anzeigt und auflistet, damit Sie geplante Aufgaben effektiv verwalten können.

Was ist Crontab?

Crontab (kurz für “cron table”) ist eine Datei, die geplante Aufgaben im cron-System definiert. Jeder Benutzer auf einem System, einschließlich des Root-Benutzers, kann seine eigene Crontab haben, in der die zu automatisierenden Aufgaben festgelegt sind.

Die Datei crontab besteht aus Cron-Aufgaben in der folgenden Syntax:

* * * * * command_to_be_executed
| | | | |
| | | | ----- Tag der Woche (0 - 7) (Sonntag=0 oder 7)
| | ---------- Monat (1 - 12)
| | --------------- Tag des Monats (1 - 31)
| -------------------- Stunde (0 - 23)
------------------------- Minute (0 - 59)

Diese Struktur ermöglicht eine genaue Kontrolle darüber, wann Aufträge ausgeführt werden, und macht cron zu einem leistungsfähigen Automatisierungswerkzeug.

Auflisten von Cron-Jobs mit Crontab

Für die Verwaltung von Cron-Jobs ist der Befehl crontab das ideale Werkzeug. Hier erfahren Sie, wie Sie die Cron-Jobs für einen bestimmten Benutzer oder das System anzeigen können.

1. Eigene Cron-Jobs anzeigen

Um die Cron-Jobs Ihres aktuellen Benutzers anzuzeigen, führen Sie den folgenden Befehl im Terminal aus:

crontab -l

Dadurch werden alle geplanten Aufgaben für den derzeit angemeldeten Benutzer aufgelistet. Wenn es keine Cron-Aufgaben gibt, liefert der Befehl eine leere Liste oder die Meldung, dass es keine crontab für den Benutzer gibt.

Beispielhafte Ausgabe:

# m h dom mon dow Befehl
0 0 * * * /home/user/backup.sh
30 2 * * 7 /home/benutzer/scripts/cleanup.sh

In diesem Beispiel:

  • Ein Sicherungsskript
    (backup.sh
    ) wird jeden Tag um Mitternacht ausgeführt.
  • Ein Bereinigungsskript
    (cleanup.sh
    ) wird jeden Sonntag um 2:30 Uhr ausgeführt.

2. Auflisten von Cron-Jobs für einen anderen Benutzer

Wenn Sie über root- oder sudo-Rechte verfügen, können Sie Cron-Jobs für jeden Benutzer anzeigen, indem Sie das Flag

-u
gefolgt vom Benutzernamen verwenden:

sudo crontab -l -u Benutzername

Ersetzen Sie username durch den tatsächlichen Benutzernamen des Benutzers, dessen Cron-Jobs Sie sehen möchten.

Um zum Beispiel die Cron-Jobs für einen Benutzer namens john aufzulisten, führen Sie aus:

sudo crontab -l -u john

Damit werden alle geplanten Cron-Jobs für diesen Benutzer angezeigt.

3. Systemweite Cron-Jobs auflisten

Neben den benutzerspezifischen Cron-Jobs gibt es auch systemweite Cron-Jobs, die vom System- oder Root-Benutzer geplant werden. Diese werden in Verzeichnissen wie /etc/crontab, /etc/cron.d/ und dem Verzeichnis /var/spool/cron/crontabs gespeichert.

Um systemweite Cron-Jobs aufzulisten, können Sie die Datei /etc/crontab öffnen und anzeigen:

cat /etc/crontab

Die Ausgabe könnte wie folgt aussehen:

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 )

In diesem Beispiel:

  • die
    /etc/cron.hourly-Jobs
    laufen zur 17. Minute jeder Stunde.
  • die
    /etc/cron.daily-Jobs
    werden jeden Tag um 6:25 Uhr ausgeführt.
  • die
    /etc/cron.weekly-Jobs
    werden jeden Sonntag um 6:47 Uhr ausgeführt.
  • /etc/cron.monthly
    wird am ersten Tag eines jeden Monats um 6:52 Uhr ausgeführt.

Sie können die Aufträge in /etc/cron.d/ auch anzeigen, indem Sie Folgendes ausführen:

ls /etc/cron.d/

Jede Datei in diesem Verzeichnis kann zusätzliche Cron-Jobs für Systemdienste enthalten.

4. Auflisten der Cron-Jobs im Verzeichnis /var/spool/cron/

Die benutzerspezifischen Cron-Jobs werden normalerweise im Verzeichnis /var/spool/cron/crontabs gespeichert. Sie können zu diesem Verzeichnis navigieren und alle Cron-Job-Dateien auflisten:

ls /var/spool/cron/crontabs

Dadurch werden die crontab-Dateien für jeden Benutzer angezeigt. Um den Inhalt der crontab eines bestimmten Benutzers anzuzeigen, können Sie Folgendes ausführen:

cat /var/spool/cron/crontabs/Benutzername

Dies liefert die gleiche Ausgabe wie die Ausführung von crontab -l -u username.

Cron-Jobs bearbeiten

Wenn Sie Cron-Jobs ändern oder neue hinzufügen möchten, können Sie Ihre Crontab bearbeiten, indem Sie crontab ausführen:

crontab -e

Dadurch wird Ihre crontab im Standardtexteditor geöffnet, so dass Sie bestehende Aufträge hinzufügen oder ändern können.

Um zum Beispiel einen neuen Auftrag hinzuzufügen, der jeden Tag um 3:00 Uhr morgens ein Skript ausführt, würden Sie diese Zeile hinzufügen:

0 3 * * * /home/user/script.sh

Nach dem Speichern und Beenden der Datei wird der Auftrag sofort ausgeführt.

Allgemeine Crontab-Auflistungsbefehle

Hier finden Sie eine Kurzreferenz für das Auflisten von Cron-Jobs in verschiedenen Szenarien:

  • Die Cron-Jobs des aktuellen Benutzers auflisten:
    crontab -l
  • Auflisten der Cron-Jobs eines anderen Benutzers (erfordert sudo):
    sudo crontab -l -u Benutzername
  • Systemweite Cron-Jobs auflisten:
    cat /etc/crontab
  • Alle Cron-Jobs in
    /etc/cron.d/
    auflisten
    :
    ls /etc/cron.d/
  • Anzeigen der Cron-Jobs, die in
    /var/spool/cron/crontabs/
    gespeichert sind
    :
    ls /var/spool/cron/crontabs

Schlussfolgerung

Die Auflistung und Anzeige von Cron-Jobs mit crontab ist eine einfache, aber leistungsfähige Methode zur Verwaltung Ihrer geplanten Aufgaben in einem Unix-ähnlichen System. Unabhängig davon, ob Sie Ihre eigenen benutzerspezifischen Cron-Jobs oder systemweite automatisierte Aufgaben verwalten, können Sie mit diesen Befehlen sicherstellen, dass Ihre Jobs reibungslos und pünktlich ausgeführt werden.

Wenn Sie cron beherrschen, können Sie sich wiederholende Aufgaben automatisieren, Backups verwalten und sicherstellen, dass Ihre Skripte in Ihrer gesamten Umgebung einheitlich ausgeführt werden.

Testen Sie Ihre Fähigkeiten mit unseren Hosting-Diensten und erhalten Sie 15% Rabatt!

Code an der Kasse verwenden:

Skills