Wo ist das cron / crontab-Protokoll?


Zur akzeptierten Antwort gehen


Ich möchte überprüfen, ob und zu welcher Zeit mein Cron-Job ausgeführt wird. Ich glaube, es gibt ein Protokoll für meine sudo crontab -e Jobs, aber wo?

Ich suchte bei Google und fand Empfehlungen, um nachzuschauen /var/log (in denen ich nichts mit 'cron' im Namen sehe) und die Datei zu bearbeiten, /etc/syslog.conf die ich auch nicht habe.


776





2011-08-11




Anzahl der Antworten: 10


Bei einer Standardinstallation werden die Cron-Jobs protokolliert

 /var/log/syslog
 

Sie können nur Cron-Jobs in dieser Protokolldatei anzeigen, indem Sie ausführen

  grep CRON /var/log/syslog
 

Wenn Sie nichts neu konfiguriert haben, befinden sich die Einträge dort.


923


2011-08-12

Sie können eine cron.log-Datei erstellen, die nur die CRON-Einträge enthält, die in syslog angezeigt werden. Beachten Sie, dass CRON-Jobs weiterhin im Syslog angezeigt werden, wenn Sie die folgenden Anweisungen befolgen.

Öffne die Datei

 /etc/rsyslog.d/50-default.conf
 

Suchen Sie die Zeile, die beginnt mit:

 #cron.*
 

Kommentiere diese Zeile aus, speichere die Datei und starte rsyslog neu:

 sudo service rsyslog restart
 

Sie sollten jetzt eine Cron-Protokolldatei hier sehen:

 /var/log/cron.log
 

Die Cron-Aktivität wird jetzt (zusätzlich zu syslog) in dieser Datei protokolliert.

Beachten Sie, dass in cron.log Einträge für die Ausführung von Skripten durch cron in /etc/cron.hourly, cron.daily usw. angezeigt werden - z.

 Apr 12 14:17:01 cd CRON[14368]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
 

In /etc/cron.daily oder /etc/cron.hourly werden jedoch keine weiteren Informationen darüber angezeigt, welche Skripts tatsächlich ausgeführt wurden, es sei denn, diese Skripts geben sie direkt in die Datei cron.log (oder möglicherweise in eine andere Protokolldatei) aus.

Wenn Sie überprüfen möchten, ob eine crontab ausgeführt wird und nicht in cron.log oder syslog suchen müssen, erstellen Sie eine crontab, die die Ausgabe in eine Protokolldatei Ihrer Wahl umleitet.

 01 14 * * * /home/joe/myscript >> /home/log/myscript.log 2>&1
 

Dadurch werden alle Standardausgaben und -fehler umgeleitet, die möglicherweise von dem Skript erzeugt werden, das in der angegebenen Protokolldatei ausgeführt wird.


244


2012-04-13

Manchmal kann es nützlich sein, es kontinuierlich zu überwachen. In diesem Fall:

 tail -f /var/log/syslog | grep CRON
 

82


2013-05-14

Sie können die Ausgabe der einzelnen Cronjobs auch zur besseren Lesbarkeit in ihre eigenen Protokolle lenken. Sie müssen lediglich die Ausgabe des Datums an eine beliebige Stelle anhängen.

  0 15 * * *    /home/andrew/daily-backup.sh >> /var/log/daily-backup.log 2>&1
 

38


2015-04-01

Wenn Sie systemd auf Ihrem System installiert haben , können Sie mit dem journalctl Befehl das Cron-Job-Protokoll anzeigen .

Zum Beispiel auf meinem Ubuntu 17.10:

 journalctl -u cron.service
 

13


2018-12-28

Dies ist eine sehr alte Frage, aber keine dieser Antworten scheint zufriedenstellend zu sein.

Lassen Sie Ihren Cron-Job zuerst jede Minute laufen, und führen Sie dann Cron als Nicht-Daemon aus (töten Sie vorübergehend nur alle Cronds, die möglicherweise bereits gestartet wurden), indem Sie die Testprotokollierung durchführen:

crond -nx test

Und sehen Sie das Protokoll Ihrer Programmausführung, das durch Ihr Terminal fließt.


9


2016-06-17

Es ist /var/log/syslog standardmäßig aktiviert.

Es kann jedoch so eingerichtet werden, dass ein separates cron.log erstellt wird, was nützlicher ist.

Diese Fragen und Antworten beschreiben den Prozess:

16.04: Wie erstelle ich cron.log und überwache es in Echtzeit?

In dieser Antwort finden Sie auch die Anweisungen zum Erstellen eines wcron Befehls, der nahezu in Echtzeit angezeigt wird. Außerdem verweist es auf eine andere Antwort,

Wie ändere ich den Cron Log Level?

Hier sehen Sie, wie Sie die Protokollebene so ändern können, dass sie mehr als nur den Start von Jobs enthält. In Ebene 15 werden auch Fehler und die Endzeit angezeigt.


8


2017-10-22

Fedoar 29 und RHEL 7

 journalctl -t CROND
 

Aus dem journalctl Handbuch:

    -t, --identifier=SYSLOG_IDENTIFIER|PATTERN
       Show messages for the specified syslog identifier SYSLOG_IDENTIFIER, or for any of the messages with a "SYSLOG_IDENTIFIER" matched by PATTERN.

       This parameter can be specified multiple times.
 

5


2019-01-17

Sie können die Ausgabe von cron in eine tmp-Datei umleiten

Zum Beispiel: 00 11 07 * * / bin / bash /home/ubuntu/command.sh> / tmp / output 2> & 1

Fehler und normale Ausgabe, beide werden in dieselbe Datei umgeleitet


3


2018-05-07

Wie bereits erwähnt, werden Cron-Jobs protokolliert /var/log/syslog

Sie können das Syslog so weiterleiten, dass es die CRON-Protokolle durchsucht und herausfiltert

 less /var/log/syslog | grep CRON 
 

Sie können Ihre Crontab-Protokolle wie folgt durchsuchen

 less /var/log/syslog | grep CRON | grep <search-keyword-comes-here>
 

Sie können Ihre in gz-Dateien gespeicherten crontab-Verlaufsprotokolle wie folgt durchsuchen

 less /var/log/syslog.2.gz | grep CRON | grep <search-keyword-comes-here>
 

Es wird immer als gut angesehen, über einen Protokollierungsmechanismus zu verfügen. Sie können ELK schnell für Ihre Server einrichten und mit logz experimentieren .


2


2019-02-06