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?
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
Wenn cron
dies 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, Postfix
ist da!
sudo apt-get update sudo apt-get installiere postfix heirloom-mailx
Bei der Installation postfix
werden Sie gefragt, wie Sie es einrichten möchten. Wählen Sie auf dem ersten Bildschirm local only
die Standardeinstellungen für alles andere aus und fahren Sie fort.
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 postnaster
wird, 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/aliases
sie so, dass sie so aussieht:
# Siehe man 5 Aliase für das Format postmaster: root wurzel: norman
(Ersetzen norman
Sie 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 push
die Ä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 Only
usw.). 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/aliases
oben 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 postfix
und loszulegen!
sudo service postfix restart
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:
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 cron
Problem.
crond
E-Mails an den Eigner des Jobs, nicht unbedingt an root. Wenn es sich also um Ihren eigenen Job handelt, mit dem Sie installiert haben, erhaltencrontab -e
Sie 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.Beim Laufen
mail
bekam ich folgende Antwort:Stattdessen habe ich die in gespeicherten Fehler / Mails gefunden
/var/mail/root
quelle
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 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
wcron
Befehls, 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.
quelle