Mein Systemadministrator hat eine Reihe von Cron-Jobs auf meinem Computer eingerichtet. Ich möchte genau wissen, was zu welcher Zeit geplant ist. Wie kann ich diese Liste bekommen?
linux
cron
scheduling
Frank
quelle
quelle
root
oderapache
oder was auch immer, aber man sollte verwenden/etc/crontab
oder (besser in den meisten Distributionen)/etc/cron.d
und/etc/cron.[timeframe]
.Antworten:
Abhängig davon, wie Ihr Linux-System eingerichtet ist, können Sie Folgendes überprüfen:
/var/spool/cron/*
(Benutzer crontabs)/etc/crontab
(systemweite crontab)Viele Distributionen haben auch:
/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 nach ihrem Verzeichnisnamen ausgeführt werden.
Darüber hinaus können Sie bei Jobs (Scheck
/var/spool/at/*
), Anacron (/etc/anacrontab
und/var/spool/anacron/*
) und wahrscheinlich andere, die ich vergesse.quelle
/etc/cron.daily
. Wie funktioniert diesedaily
Datei? Wann werden die täglichen Jobs ausgeführt? Auf meinem Rechner scheinen sie gegen Mittag zu laufen, aber es würde meinem Sysadmin gerne sagen, wie man das stattdessen auf Mitternacht umstellt./etc/crontab
, zB auf meinem Ubuntu-System heißt das:25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
6:25 Uhr.cronie
kümmert sich der Daemon um diejenigen, die die Konfiguration in verwenden/etc/anacrontab
./var/cron
auch dabei.Bei den meisten Crons (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 ausführen und diesen Befehl aufrufen.
Alternativ können Sie die Spooldateien nachschlagen. In der Regel werden sie unter
/var/spool/cron
zB für vcron following gespeichertenthält alle konfigurierten crontabs aller Benutzer - mit Ausnahme des Root-Benutzers, der Jobs auch über die systemweite crontab konfigurieren kann, die sich unter befindet
Mit cronie (Standardeinstellung unter Fedora / CentOS) gibt es auch ein
.d
Konfigurationsverzeichnis für System-Cron-Jobs:(Wie immer
.d
vereinfacht das Verzeichnis die Verwaltung von Konfigurationseinträgen, die Teil verschiedener Pakete sind.)Der Einfachheit halber bieten die meisten Distributionen auch Verzeichnisse, in denen verknüpfte / gespeicherte Skripte regelmäßig ausgeführt werden, z.
Die rechtzeitige Ausführung dieser Skripte wird normalerweise über
run-parts
Einträge in der System-Crontab oder über Anacron verwaltet .Mit Systemd (zB unter Fedora, CentOS 7, ...) kann zusätzlich die periodische Jobausführung über Timer-Einheiten konfiguriert werden . Die aktivierten Systemzeitgeber können angezeigt werden über:
Beachten Sie, dass Benutzer neben root möglicherweise auch systemd-Instanzen ausführen, in denen Timer konfiguriert sind. Beispielsweise wird unter Fedora standardmäßig eine systemd-Benutzerinstanz für jeden derzeit angemeldeten Benutzer gestartet. Sie können folgendermaßen erkannt werden:
Diese Benutzer-Timer können aufgelistet werden über:
Eine Alternative zur Ausgabe des
list-timers
Befehls besteht darin, nach Timer-Unit-Dateien (Muster:)*.timer
und symbolischen Verknüpfungen zu diesen in den üblichen System- und Benutzersystem-Konfigurationsverzeichnissen zu suchen :(Wie bei normalen Serviceeinheiten wird eine Zeitgebereinheit durch Erstellen einer symbolischen Verknüpfung im rechten Konfigurationsverzeichnis von systemd aktiviert.)
Siehe auch:
quelle
crontab -l -u root
(weil diese Cronjobs, die ich kennenlernen möchte, unterlaufenroot
), und es heißt, ich habe keine Berechtigungen zum Verwenden-u
.root
Benutzer.cronie
, wie in Fedora und RHEL6 ausgeliefert, beziehen sich nicht auf die in/etc/crontab
, sondern verwenden/etc/anacrontab
. Möglicherweise irre ich mich bei tatsächlichen Implementierungen, die in keiner Konfigurationsdatei auf diese verweisen. (Aber dann habe ich auch nicht abgelehnt ... ich sage es nur.)Zum Auflisten aller Cron für den angegebenen Benutzer.
Um alle Benutzer für alle Benutzer aufzulisten
Führen Sie es als Superuser aus
quelle