Wie erhalte ich eine Liste aller geplanten Cron-Jobs auf meinem Rechner?
Mein Systemadministrator hat eine Reihe von Cron-Jobs auf meinem Rechner eingerichtet. Ich würde gerne genau wissen, was für welche Zeit geplant ist. Wie kann ich diese Liste erhalten?
209
3
Je nachdem, wie Ihr Linux-System konfiguriert ist, können Sie in:
/var/spool/cron/*
(Benutzer-Crontabs)/etc/crontab
(systemweite Crontab)Außerdem haben viele Distros:
/etc/cron.d/*
Diese Konfigurationen haben die gleiche Syntax wie/etc/crontab
/etc/cron.hourly
,/etc/cron.daily
,/etc/cron.weekly
,/etc/cron.monthly
Dies sind einfach Verzeichnisse, die ausführbare Dateien enthalten, die stündlich, täglich, wöchentlich oder monatlich ausgeführt werden, je nach Verzeichnisname.
Darüber hinaus gibt es noch at-Jobs (siehe
/var/spool/at/*
), anacron (/etc/anacrontab
und/var/spool/anacron/*
) und wahrscheinlich noch andere, die ich vergessen habe.Bei den meisten Cron-Programmen (z.B. Vixie-Cron - Debian/Ubuntu Standard, Cronie - Fedora Standard, Solaris Cron ...) erhalten Sie die Liste der geplanten Cron-Jobs für den aktuellen Benutzer über:
oder für einen anderen Benutzer über
Um die Crontabs für alle Benutzer zu erhalten, können Sie eine Schleife über alle Benutzer ziehen und diesen Befehl aufrufen.
Alternativ können Sie die Spooldateien nachschlagen. Normalerweise sind sie unter
/var/spool/cron
gespeichert, z.B. für vcron folgendes Verzeichnisenthält alle konfigurierten Crontabs aller Benutzer - mit Ausnahme des Root-Benutzers, der auch Jobs über die systemweite Crontab konfigurieren kann, die sich unter
Mit cronie (Standard unter Fedora/CentOS) gibt es auch ein Konfigurationsverzeichnis im Stil von
.d
für System-Cron-Jobs:(Wie immer vereinfacht das
.d
-Verzeichnis die Verwaltung von Konfigurationseinträgen, die Teil verschiedener Pakete sind).Der Einfachheit halber bieten die meisten Distributionen auch Verzeichnisse an, in denen verlinkte/gespeicherte Skripte regelmäßig ausgeführt werden, z.B.:
Die rechtzeitige Ausführung dieser Skripte wird normalerweise über
run-parts
-Einträge in der System-Crontab oder über anacron verwaltet.Mit Systemd (z.B. auf Fedora, CentOS 7, ...) kann die periodische Jobausführung zusätzlich über timer units konfiguriert werden. Die aktivierten System-Timer können über angezeigt werden:
Beachten Sie, dass neben root auch Benutzer systemd-Instanzen laufen haben können, in denen Timer konfiguriert sind. Unter Fedora zum Beispiel wird standardmäßig für jeden Benutzer, der gerade angemeldet ist, eine systemd-Benutzerinstanz gestartet. Sie können über erkannt werden:
Diese Benutzer-Timer können aufgelistet werden über:
Eine Alternative zur Eingabe des Befehls
list-timers
ist die Suche nach Timer-Unit-Dateien (Muster:*.timer
) und symbolischen Links zu diesen in den üblichen System- und Benutzer-Systemd-Konfigurationsverzeichnissen:(Wie bei normalen Service-Units wird eine Timer-Unit durch Erstellen eines symbolischen Links im richtigen systemd-Konfigurationsverzeichnis aktiviert).
Siehe auch:
Auflisten aller Crons für den angegebenen Benutzer.
Um alle Crons für alle Benutzer aufzulisten
Führen Sie es als Superuser aus