
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.local
werden Befehle nirgends protokolliert.
Wenn Sie Protokolle für bestimmte Befehle anzeigen möchten, versuchen SieUmleitung von stdout und stderrfür rc.local
an einen Ort, den Sie überprüfen können. Versuchen Sie, dies oben in Ihre /etc/rc.local
Datei 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.local
Datei dazu erneut ausgeführt werden.
Antwort2
Versuchen Sie stattdessen, die /var/log/syslog
Datei 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