Cron ist ein Planungs-Daemon, mit dem Sie die Ausführung von Aufgaben in bestimmten Intervallen planen können. Diese Aufgaben werden Cron-Jobs genannt und können so geplant werden, dass sie nach einer Minute, einer Stunde, einem Tag im Monat, einem Monat, einem Wochentag oder einer beliebigen Kombination davon ausgeführt werden.
Cron-Jobs werden normalerweise verwendet, um Systemwartungsvorgänge durchzuführen. Beispielsweise kann ein Cron-Job eingerichtet werden, um sich wiederholende Aufgaben wie das Sichern von Datenbanken, das Aktualisieren des Systems mit den neuesten Sicherheitspatches, das Leeren des Caches, das Senden von E-Mails usw. zu automatisieren.
Dieser Artikel erklärt, wie man die Cronjobs auflistet.
Benutzer-Cronjobs auflisten #
Die crontab-Dateien der Benutzer werden basierend auf dem Namen des Benutzers benannt, und ihr Speicherort variiert je nach Betriebssystem. In Red Hat-basierten Distributionen wie CentOS werden Crontab-Dateien im Verzeichnis /var/spool/cron
gespeichert Verzeichnis, während auf Debian und Ubuntu Dateien in /var/spool/cron/crontabs
gespeichert werden Verzeichnis.
Verwenden Sie die crontab
, um eine Liste aller Cron-Jobs für den Benutzer zu erhalten, als der Sie gerade angemeldet sind Befehl:
crontab -l
Wenn der Benutzer Cron-Jobs eingerichtet hat, wird der Inhalt der Benutzer-Crontabs auf dem Bildschirm angezeigt. Andernfalls gibt der Befehl no crontab for <username>
aus .
Um Cronjobs anderer Benutzer aufzulisten, verwenden Sie -u
Option zur Angabe des Benutzernamens am Ende des Befehls. Um beispielsweise die Cron-Jobs des Benutzers „mark“ aufzulisten, würden Sie Folgendes verwenden:
sudo crontab -u mark -l
Jede Benutzer-crontab-Datei hat 600
Berechtigungen und im Besitz des Benutzers. Nur root und Benutzer mit sudo
Privilegien können die Cronjobs anderer Benutzer sehen.
Um herauszufinden, welche Benutzer Cronjobs erstellt haben, listen Sie den Inhalt der spool
auf Verzeichnis als Root- oder Sudo-Benutzer:
sudo ls -1 /var/spool/cron/crontabs
Die Ausgabe sieht in etwa so aus:
root
mark
Cron-Jobs Nr. des Auflistungssystems
/etc/crontab
und die Dateien in /etc/cron.d
Verzeichnis sind systemweite Crontab-Dateien, die nur von Systemadministratoren bearbeitet werden können.
Verwenden Sie cat
, less
oder einen beliebigen Texteditor, um den Inhalt der Dateien anzuzeigen:
cat /etc/crontab /etc/cron.d/*
In den meisten Linux-Distributionen können Sie Skripte auch in /etc/cron.{hourly,daily,weekly,monthly}
einfügen Verzeichnisse und die Skripte werden jede hour/day/week/month
ausgeführt .
Jedes Skript in diesen Verzeichnissen muss eine Ausführungsberechtigung haben. Andernfalls wird der Cronjob nicht ausgeführt.
Um beispielsweise alle wöchentlichen Cron-Jobs anzuzeigen, würden Sie Folgendes eingeben:
ls -l /etc/cron.weekly/
-rwxr-xr-x 1 root root 813 Feb 10 2019 man-db
Wenn die Ausgabe leer ist, bedeutet dies, dass es keine wöchentlichen Cron-Jobs gibt.
Systemd-Timer #
Systemd-Timer sind Unit-Dateien, die auf *.timer
enden Suffix und ermöglichen es Ihnen, Serviceeinheiten basierend auf Zeit auszuführen.
Auf Linux-Distributionen, die systemd als Init-System verwenden, werden die Timer als Alternative zum Standard-Cron-Daemon verwendet.
Führen Sie den folgenden Befehl aus, um eine Liste aller systemd-Timer auf Ihrem Computer anzuzeigen:
systemctl list-timers
NEXT LEFT LAST PASSED UNIT ACTIVATES
Sun 2020-02-16 00:00:00 UTC 1h 53min left Sat 2020-02-15 17:04:11 UTC 5h 2min ago logrotate.timer logrotate.service
Sun 2020-02-16 00:00:00 UTC 1h 53min left Sat 2020-02-15 17:04:11 UTC 5h 2min ago man-db.timer man-db.service
Sun 2020-02-16 03:50:52 UTC 5h 44min left Sat 2020-02-15 17:04:11 UTC 5h 2min ago apt-daily.timer apt-daily.service
Sun 2020-02-16 06:12:38 UTC 8h left Sat 2020-02-15 17:04:11 UTC 5h 2min ago apt-daily-upgrade.timer apt-daily-upgrade.service
Sun 2020-02-16 18:44:56 UTC 20h left Sat 2020-02-15 17:16:10 UTC 4h 50min ago systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service
Schlussfolgerung #
Wir haben Ihnen gezeigt, wie Sie Cron-Jobs und systemd-Timer auflisten.
Fühlen Sie sich frei, einen Kommentar zu hinterlassen, wenn Sie Fragen haben.