Wo werden unter Ubuntu 14.04 Cron-Protokolle gespeichert?


12

Ich versuche zu beheben, warum meine Cron-Aufgabe manchmal nicht funktioniert. Wo speichert cron standardmäßig Protokolldateien? Ist es / var / log / syslog?

Ich habe mir diese Datei angesehen und sie ist leer. Muss ich etwas einrichten?

Antworten:


23

Standardmäßig werden die Protokolle von cron in / var / log / syslog gespeichert. Dies hängt von der Konfiguration von rsyslogd ab. Du kannst es ändern:
Gehe zu rsyslog config

cd /etc/rsyslog.d/
sudo nano 50-default.conf

Nicht zustimmende Zeile:

# cron. * /var/log/cron.log

Datei speichern und rsyslog neu starten

sudo service rsyslog restart 

Starten Sie Ihren Cron-Daemon neu, um die Nachrichten aus der neuen Datei abzurufen

sudo service cron restart

7

Wenn crondies nicht funktioniert, wird eine E-Mail an den Benutzer gesendet root. Das einzige Problem ist: Sie haben nicht die Software, um die Mail in Postfächern zu versenden / zu speichern.

Aber keine Angst, Postfixist da!

Installieren Sie Postfix

sudo apt-get update
sudo apt-get installiere postfix heirloom-mailx

Bei der Installation postfixwerden Sie gefragt, wie Sie es einrichten möchten. Wählen Sie auf dem ersten Bildschirm local onlydie Standardeinstellungen für alles andere aus und fahren Sie fort.

Postfix konfigurieren

Bearbeiten Sie nun mit Ihrem bevorzugten Editor /etc/aliases. Am Anfang sieht es ungefähr so ​​aus:

# Siehe man 5 Aliase für das Format
postmaster: root

Dies bedeutet, dass alle E-Mails, an die gesendet postnasterwird, jetzt auch an gesendet werden root. In diesem Fall möchten wir, dass alle E-Mails, die an root(für die Cron-E-Mails und alle anderen System-E-Mails) gesendet werden, an username(uns) gesendet werden .

Bearbeiten Sie /etc/aliasessie so, dass sie so aussieht:

# Siehe man 5 Aliase für das Format
postmaster: root
wurzel: norman

(Ersetzen normanSie sie offensichtlich durch Ihren Benutzernamen. Es sei denn, Sie haben denselben Namen / Benutzernamen wie ich. :))

Führen Sie anschließend den folgenden Befehl für pushdie Änderungen aus:

sudo newaliases

Nun, nach diesem Lauf:

sudo dpkg-reconfigure postfix

Sie erhalten den gleichen Bildschirm wie zuvor bei der Installation postfix. Durchlaufen Sie die Standardeinstellungen ( Local Onlyusw.). Wenn Sie zu dem Teil gelangen, in dem Sie nach dem Alias ​​für root und postmaster gefragt werden, vergewissern Sie sich, dass es mit dem /etc/aliasesoben hinzugefügten übereinstimmt. Führen Sie dann die Standardeinstellungen aus.

Wenn Sie fertig sind, führen Sie den folgenden Befehl aus, um neu zu starten postfixund loszulegen!

sudo service postfix restart

Fazit

Nun, wenn cron einen Fehler hat, wird er an Sie gesendet. Aber Sie wundern sich wahrscheinlich, wie in aller Welt ich meine (lokalen) E-Mails checke?

Führen Sie dazu den folgenden Befehl aus:

mail

So einfach. Wenn es keine Mail gibt, heißt es No mail for <username>. Andernfalls erhalten Sie eine übersichtliche Terminalschnittstelle. Finden Sie in der Manpage für Informationen, wie Sie mit Ihrem Posteingang zu interagieren.

Wenn Sie möchten, können Sie auch auf Ihre lokale Manpage zugreifen, indem Sie Folgendes verwenden:

Mann Mail

Und jetzt bist du fertig! :)

PS Sie sollten lesen diese mehr über die lernen cronProblem.


1
crondE-Mails an den Eigner des Jobs, nicht unbedingt an root. Wenn es sich also um Ihren eigenen Job handelt, mit dem Sie installiert haben, erhalten crontab -eSie die E-Mail. Dies gilt auch für den Fall, dass der Auftrag "fehlschlägt" oder nicht. Sie erhalten lediglich eine Abschrift der Ergebnisse des Auftrags per E-Mail.
Psusi

0

Beim Laufen mailbekam ich folgende Antwort:

The program 'mail' is currently not installed. To run 'mail' please ask your administrator to install the package 'mailutils'

Stattdessen habe ich die in gespeicherten Fehler / Mails gefunden /var/mail/root


-1

Es ist /var/log/syslogstandardmäß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 kann ich dafür sorgen, dass cron cron.log erstellt und in Echtzeit überwacht?

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

Wie ändere ich den Cron Log Level?

Das zeigt, 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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.