Der Name Cron stammt von einem griechischen Wort Chronos, das für Zeit verwendet wird. Es ist ein Daemon für Linux-Systeme, um die Ausführung von Befehlen oder Skripten in bestimmten Zeitintervallen zu automatisieren.
Dieses Tutorial zeigt Ihnen die verschiedenen Optionen zum Auflisten aller geplanten Cron-Jobs für Benutzer auf Linux-Systemen.
Auflisten von Cronjobs des aktuellen Benutzers
Der Standardbefehl crontab funktioniert für den aktuell angemeldeten Benutzer. Sie können alle geplanten Cron-Jobs für den aktuellen Benutzer auflisten, führen Sie Folgendes aus:
crontab –l
Ausgabe:
Alle Benutzer-Cronjobs befinden sich im Allgemeinen unter /var/spool/cron/crontabs Verzeichnis. Für alle Benutzerkonten mit diesem Namen wird eine separate Datei erstellt.
Cron-Jobs anderer Benutzer auflisten
Ein root- oder sudo-privilegierter Benutzer kann auch geplante Cronjobs anderer Benutzer anzeigen. Verwenden Sie -u gefolgt vom Benutzernamen, um alle Jobs aufzulisten, die einem bestimmten Benutzer gehören.
Zum Beispiel:
sudo crontab –u username –l
Ersetzen Sie den Benutzernamen durch den tatsächlichen Benutzernamen, den Sie Cron-Jobs anzeigen möchten.
Cron-Jobs nach System auflisten
Der Root-Benutzer kann auf die Crontabs des Betriebssystems zugreifen und diese ändern. Sie können die Cronjobs des Systems anzeigen, indem Sie den folgenden Befehl als root- oder sudo-privilegiertes Konto ausführen.
less /etc/crontab
Ausgabe:
# /etc/crontab: system-wide crontab # Unlike any other crontab you don't have to run the `crontab' # command to install the new version when you edit this file # and files in /etc/cron.d. These files also have username fields, # that none of the other crontabs do. SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin # Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed 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 )
Wie man stündliche Cron-Jobs auflistet
Sie können das Verzeichnis /ettc/cron.hourly einsehen, um alle Cron-Jobs zu finden, die stündlich ausgeführt werden sollen.
ls -la /etc/cron.hourly
Ausgabe:
total 20 drwxr-xr-x 2 root root 4096 Apr 23 2020 . drwxr-xr-x 142 root root 12288 Jan 19 15:21 .. -rw-r--r-- 1 root root 102 Feb 14 2020 .placeholder
Die obige Ausgabe zeigt, dass es keinen Cron-Job-Zeitplan gibt, der stündlich ausgeführt wird. Sie können in jedem Verzeichnis eine Datei .placeholder sehen, die erstellt wird, um ein versehentliches Löschen des Verzeichnisses durch den Paketmanager zu vermeiden. Wenn keine andere Datei im Verzeichnis existiert.
Wie man tägliche Cron-Jobs auflistet
Ebenso können Sie alle geplanten Jobs auflisten, die täglich ausgeführt werden sollen. Die meisten Bewerbungsjobs sind in diesem Verzeichnis zu finden.
ls -la /etc/cron.daily
Ausgabe:
total 72 drwxr-xr-x 2 root root 4096 Dec 28 15:28 . drwxr-xr-x 142 root root 12288 Jan 19 15:21 .. -rwxr-xr-x 1 root root 311 Jul 16 2019 0anacron -rwxr-xr-x 1 root root 539 Apr 13 2020 apache2 -rwxr-xr-x 1 root root 376 Dec 5 2019 apport -rwxr-xr-x 1 root root 1478 Apr 9 2020 apt-compat -rwxr-xr-x 1 root root 355 Dec 29 2017 bsdmainutils -rwxr-xr-x 1 root root 384 Nov 19 2019 cracklib-runtime -rwxr-xr-x 1 root root 1187 Sep 6 2019 dpkg -rwxr-xr-x 1 root root 377 Jan 21 2019 logrotate -rwxr-xr-x 1 root root 1123 Feb 25 2020 man-db -rw-r--r-- 1 root root 102 Feb 14 2020 .placeholder -rwxr-xr-x 1 root root 4574 Jul 18 2019 popularity-contest -rwxr-xr-x 1 root root 383 Jan 6 2020 samba -rwxr-xr-x 1 root root 214 Apr 2 2020 update-notifier-common
Wie man wöchentliche Cron-Jobs auflistet
Die wöchentlichen Cron-Jobs werden im Verzeichnis /etc/cron.weekly geplant.
ls -la /etc/cron.weekly
Ausgabe:
total 32 drwxr-xr-x 2 root root 4096 Apr 23 2020 . drwxr-xr-x 142 root root 12288 Jan 19 15:21 .. -rwxr-xr-x 1 root root 312 Jul 16 2019 0anacron -rwxr-xr-x 1 root root 813 Feb 25 2020 man-db -rw-r--r-- 1 root root 102 Feb 14 2020 .placeholder -rwxr-xr-x 1 root root 211 Apr 2 2020 update-notifier-common
Wie man monatliche Cron-Jobs auflistet
Alle monatlichen Cron-Jobs werden im Verzeichnis /etc/cron.monthly geplant.
ls -la /etc/cron.monthly
Ausgabe:
total 24 drwxr-xr-x 2 root root 4096 Apr 23 2020 . drwxr-xr-x 142 root root 12288 Jan 19 15:21 .. -rwxr-xr-x 1 root root 313 Jul 16 2019 0anacron -rw-r--r-- 1 root root 102 Feb 14 2020 .placeholder
So zeigen Sie anwendungsspezifische Cron-Jobs an
Mai Anwendungen geplante Cron-Jobs für reguläre Arbeiten. Diese Jobs finden Sie unter stündliche, tägliche, wöchentliche oder monatliche Cron-Jobs.
Beispielsweise hat der Apache-Webserver eine Cron-Job-Datei unter /etc/cron.daily erstellt. Das bedeutet, dass der Job täglich ausgeführt wird. Sie können den Inhalt des Cron-Jobs sehen, indem Sie wie folgt auf den Dateiinhalt zugreifen:
cat /etc/cron.daily/apache2
Ausgabe:
#!/bin/sh # run htcacheclean if set to 'cron' mode set -e set -u type htcacheclean > /dev/null 2>&1 || exit 0 [ -e /etc/default/apache-htcacheclean ] || exit 0 # edit /etc/default/apache-htcacheclean to change this HTCACHECLEAN_MODE=daemon HTCACHECLEAN_RUN=auto HTCACHECLEAN_SIZE=300M HTCACHECLEAN_PATH=/var/cache/apache2/mod_cache_disk HTCACHECLEAN_OPTIONS="" . /etc/default/apache-htcacheclean [ "$HTCACHECLEAN_MODE" = "cron" ] || exit 0 htcacheclean ${HTCACHECLEAN_OPTIONS} \ -p${HTCACHECLEAN_PATH} \ -l${HTCACHECLEAN_SIZE}
Schlussfolgerung
In diesem Tutorial haben Sie gelernt, Cron-Jobs auf einem Linux-System anzuzeigen, aufzulisten oder anzuzeigen. Außerdem finden Sie Details zu Cron-Jobs, die stündlich, täglich, wöchentlich oder monatlich ausgeführt werden.