Wo ist die Protokolldatei von rc.local?

Wo ist die Protokolldatei von rc.local?

Ich habe einige Befehle in meinem rc.local. Ich weiß, dass sie fehlschlagen. Wie kann ich eine Protokolldatei mit Nachrichten erhalten, die durch die Ausführung von rc.local erzeugt werden? Wo befindet sie sich?

Ich habe /var/log/boot.log überprüft. Ich weiß, dass meine Nachrichten dort nicht sind, weil ich den Grund für den Fehler bereits kenne. Aber ich möchte mich trotzdem anhand der Protokolldatei vergewissern.

Hinweis: Ich möchte das Skript nicht erneut ausführen. Ich könnte, möchte es aber nicht. Ich würde lieber analysieren, was beim Start passiert ist.

Vielen Dank für jede Hilfe.

Ubuntu 12.04 Desktop (falls das wichtig ist)

Antwort1

Sofern für einen Befehl nicht bereits eine Ausgabe oder Protokollierung konfiguriert ist, rc.localwerden Befehle nirgends protokolliert.

Wenn Sie Protokolle für bestimmte Befehle anzeigen möchten, versuchen SieUmleitung von stdout und stderrfür rc.localan einen Ort, den Sie überprüfen können. Versuchen Sie, dies oben in Ihre /etc/rc.localDatei einzufügen:

exec 1>/tmp/rc.local.log 2>&1  # send stdout and stderr from rc.local to a log file
set -x                         # tell sh to display commands before execution

Allerdings muss die rc.localDatei dazu erneut ausgeführt werden.

Antwort2

Versuchen Sie stattdessen, die /var/log/syslogDatei auf Fehler zu überprüfen.

Antwort3

Bei systemd wird rc.local als Dienst betrachtet, für den systemd Protokolle sammelt. Sie können diese mit folgendem Befehl überprüfen:

systemctl status rc.local.service

Sie können Fehler (sofern vorhanden) im Serviceprotokoll sehen.

Antwort4

Hinzufügen zuSylvains Antwort:

grep rc.local /var/log/syslog

Zeigt Ihnen alle Fehlerausgaben im Zusammenhang mitrc.local

verwandte Informationen