Wohin gehen die Standardausgaben at
und cron
Aufgaben, wenn kein Bildschirm angezeigt werden kann?
Es wird weder in dem Verzeichnis angezeigt, aus dem die Jobs gestartet wurden, noch in meinem Home-Verzeichnis.
Wie könnte ich das tatsächlich herausfinden, wenn ich nicht weiß, wie ich einen Hintergrundjob debuggen oder verfolgen soll?
Antworten:
Von der Cron-Manpage:
Sie sollten also die E-Mails Ihres / root oder das Syslog (z. B. / var / log / syslog) überprüfen.
quelle
Bei lang laufenden Prozessen ist es manchmal hilfreich zu wissen, wie die Ausgabe lautet, bevor Sie die E-Mail erhalten. Ich verwende stattdessen Folgendes:
ps
diese Option , um die Prozess-ID Ihres laufenden Programms zu ermitteln (PID
siehe unten).Verwenden Sie
lsof
diese Option, um die Datei zu finden, in die die Ausgabe geschrieben wird:Suchen Sie in der Ausgabe nach den Zeilen
1u
und2u
unter derFD
Spaltenüberschrift.In diesen Zeilen erfahren Sie, in welche temporären Dateien die Prozessausgabe verschoben wird, bevor sie per E-Mail gesendet wird. In der Regel
at
befindet sich die Datei unter/var/spool/cron/atjobs/
. Zeigen Sie schließlich diese Datei an und Sie finden die (aktuelle) Ausgabe Ihres Prozesses.quelle
1u
und2u
sind vom TypUNIX
. Ich vermute, das sind UNIX-Sockets. Wie schaue ich jetzt in die Dateien?