Gdzie jest plik dziennika z rc.local?

52

Mam kilka poleceń w moim pliku rc.local. Wiem, że zawodzą. Jak mogę uzyskać plik dziennika z komunikatami wygenerowanymi przez uruchomienie rc.local? Gdzie to się znajduje?

Sprawdziłem /var/log/boot.log. Wiem, że moich wiadomości nie ma, ponieważ już wiem, co jest przyczyną niepowodzenia. Ale nadal chcę się upewnić z pliku dziennika.

Uwaga: nie chcę ponownie uruchamiać skryptu, mógłbym, ale nie chcę. Wolałbym przeanalizować, co wydarzyło się podczas uruchamiania.

Dziękuję za wszelką pomoc.

Ubuntu 12.04 Desktop (jeśli to ważne)

Vladimir
źródło

Odpowiedzi:

59

O ile polecenie nie skonfigurowało już danych wyjściowych lub rejestrowania, rc.localnigdzie się nie rejestruje.

Jeśli chcesz zobaczyć dzienniki dla konkretnych poleceń, spróbuj przekierować stdout i stderr na rc.localmiejsce, które możesz sprawdzić. Spróbuj dodać to na górze /etc/rc.localpliku:

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

Chociaż będzie to wymagało ponownego uruchomienia rc.localpliku.

Ross
źródło
3
exec &> /tmp/rc.local.logwystarczy zamiast dwóch wywołań exec :-)
AjayKumarBasuthkar
2
@ abu-bua: Zachowaj ostrożność podczas przeglądania sugestii edycji wprowadzających zmiany funkcjonalne! &>przekierowanie jest Bash-izmem i po cichu zawiesza się w Dash i innych „zwykłych” implementacjach /bin/shtłumaczy, takich jak ten używany rc.local.
David Foerster,
oznacza „do góry” przed pierwszym wierszem !/bin/sh -e?
Ben
12

/var/log/syslogZamiast tego spróbuj sprawdzić awarie w pliku.

Sylvain Pineau
źródło
10

Z systemd rc.local jest uważany za usługę, która systemd zbiera logi. Możesz je przejrzeć za pomocą:

systemctl status rc.local.service

Błędy można wyświetlić (jeśli istnieją) w dzienniku usług.

Amir Ohadi
źródło
2

Zaglądać

  1. /var/log/messages
  2. /var/log/daemon

Lub użyj polecenia dmesg

less /var/log/boot.log
less /var/log/dmesg
grep error /var/log/dmesg
grep <your expected error string> /var/log/boot.log

Lub użyj scriptlub innego narzędzia do przechwycenia loginurc.local

kirchberger
źródło