In diesem Tutorial sehen wir uns an, wie Sie Cron-Protokolle überprüfen und Jobs in Ubuntu 18.04 in Echtzeit überwachen. Ein Cron-Job ist ein Aufgabenplaner, der zur Automatisierung sich wiederholender Aufgaben in einer Linux-Umgebung verwendet wird. Es wird normalerweise zu einem bestimmten Zeitpunkt und Datum ausgeführt, wie es vom Systemadministrator vorgegeben wird. Cron-Protokolle helfen dem Administrator wirklich zu überprüfen, ob die Cron-Jobs zu einem bestimmten Zeitpunkt ausgeführt wurden oder nicht.
Normalerweise können Sie Cron-Ereignisse mit
anzeigencat /var/log/syslog | grep cron
Ausgabe
Es ist jedoch besser, eine separate cron.log-Datei zu haben, die Sie verwenden können, um Cron-Ereignisse zu überwachen.
Cron.log-Datei einrichten
Gehen Sie zuerst zu /etc/rsyslog.d/50-default.conf
Datei und suchen Sie nach dieser Zeile #cron.* /var/log/cron.log
cat /etc/rsyslog.d/50-default.conf | grep cron
Ausgabe
#cron.* /var/log/cron.log
# cron,daemon.none;\
Öffnen Sie die Datei mit Ihrem bevorzugten Texteditor und kommentieren Sie die Zeile aus, wie in Zeile 10 gezeigt
Erstellen Sie als Nächstes die cron.log-Datei
vi /var/log/cron.log
Starten Sie den rsyslog-Dienst neu
systemctl restart rsyslog
Überprüfen Sie den Status von rsyslog, um sicherzustellen, dass es ausgeführt wird
systemctl status rsyslog
Beispielausgabe
Von da an werden alle Protokolle unter /var/log/cron.log
gespeichert Datei.
Als Nächstes erstellen wir ein watchcron Befehl, den wir aufrufen werden, um einen Blick auf die Cron-Ereignisse in Echtzeit zu werfen.
Erstellen Sie die Watchcron-Datei
nano watchcron
Fügen Sie Folgendes hinzu
#!/bin/bash
watch -n 10 tail -n 25 /var/log/cron.log
Speichern und beenden
Hinweis:
watch -n 10 aktualisiert die Seite alle 10 Sekunden.
tail -n 25 zeigt die letzten 25 Einträge an.
Geben Sie der watchcron-Datei Ausführungsberechtigungen
chmod +x watchcron
Kopieren Sie es wie gezeigt nach /usr/sbin
cp watchcron /usr/sbin
Um die Ausführung von Cron-Ereignissen in Echtzeit zu beobachten
watchcron
Beispielausgabe
Every 10.0s: tail -n 25 /var/log/cron.log Sun May 13 14:00:19 2018
May 13 06:47:01 ip-172-31-41-251 CRON[26305]: (root) CMD (test -x /usr/sbin/anac
ron || ( cd / && run-parts --report /etc/cron.weekly ))
May 13 07:17:01 ip-172-31-41-251 CRON[26993]: (root) CMD ( cd / && run-parts -
-report /etc/cron.hourly)
May 13 08:17:01 ip-172-31-41-251 CRON[28255]: (root) CMD ( cd / && run-parts -
-report /etc/cron.hourly)
May 13 09:17:01 ip-172-31-41-251 CRON[29487]: (root) CMD ( cd / && run-parts -
-report /etc/cron.hourly)
May 13 10:11:01 ip-172-31-41-251 CRON[30655]: (root) CMD (/sbin/reboot)
May 13 10:11:34 ip-172-31-41-251 cron[1226]: (CRON) INFO (pidfile fd = 3)
May 13 10:11:34 ip-172-31-41-251 cron[1226]: (CRON) INFO (Running @reboot jobs)
May 13 10:17:01 ip-172-31-41-251 CRON[2506]: (root) CMD ( cd / && run-parts --
report /etc/cron.hourly)
May 13 11:17:01 ip-172-31-41-251 CRON[2986]: (root) CMD ( cd / && run-parts --
report /etc/cron.hourly)
May 13 12:17:01 ip-172-31-41-251 CRON[3252]: (root) CMD ( cd / && run-parts --
report /etc/cron.hourly)
May 13 13:17:01 ip-172-31-41-251 CRON[3513]: (root) CMD ( cd / && run-parts --
report /etc/cron.hourly)
Wenn Sie keine E-Mails von Cron erhalten möchten, fügen Sie diese Zeile am Anfang Ihrer Crontab-Datei hinzu
MAILTO=""
In diesem Artikel haben wir Ihnen gezeigt, wie Sie Cronjob-Protokolle in Echtzeit mit einem einzigen Befehl überwachen können. Probieren Sie das Verfahren gerne aus und geben Sie uns Ihr Feedback. Danke.