Jak mogę sprawdzić, czy system uruchomił się ponownie, a także czas ponownego uruchomienia, patrząc na dzienniki systemu?

14

Jak mogę sprawdzić, czy system Linux uruchomił się ponownie i określić czas ponownego uruchomienia, przeglądając dzienniki systemowe, takie jak /var/log/messages?

Jack Z
źródło
Uruchomiono ponownie w jaki sposób? Za pomocą polecenia konsoli? Utrata mocy? Awaria sprzętu?
devicenull
@devicenull: Myślę, że powinno to być wszystko powyższe, ponieważ przydatne jest udzielenie odpowiedzi na pytania typu „Kiedy moc znów się pojawiła?” „Inżynier zrobił CO? Kiedy to się stało?”
Stefan Lasiewski

Odpowiedzi:

24

Bardzo, bardzo łatwe. W lastAnalizuje polecenia /var/log/wtmpdla aktywności użytkownika tym restartu pseudo użytkownika.

Użyj polecenia: last reboot

Zobacz man lastpo więcej informacji. http://linux.die.net/man/1/last

Ponowne uruchomienie pseudo użytkownika loguje się przy każdym ponownym uruchomieniu systemu. W ten sposób ostatni restart pokaże dziennik wszystkich restartów od czasu utworzenia pliku dziennika.

Jeśli plik / var / log / wtmp został obrócony od czasu ostatniego ponownego uruchomienia, możesz zobaczyć wcześniejsze ponowne uruchomienie za pomocą last -f /var/log/wtmp.1 reboot.

Aaron Copley
źródło
Cześć Aaron, dzięki za pomoc! Próbowałem „ostatniego restartu” w moim systemie i otrzymałem to: „wtmp zaczyna się 1 marca 11:10:40 2012”, jednak „uptime” dał mi to: „17:29:21 w górę 6 dni, 9:24, 7 użytkownicy, średnie obciążenie: 0,00, 0,01, 0,05 ". Aktualny czas w moim systemie to 17:31 1 marca, MST. Wygląda więc na to, że „ostatni restart” pomyślał, że system został zrestartowany mniej niż dzień temu, co nie jest tak naprawdę prawdą ... Czy możesz mi powiedzieć więcej o tym, jak „ostatni” określa czas restartu? Dzięki!
Jack Z
2
Ten znacznik czasu nie oznacza ponownego uruchomienia komputera. Zobaczysz linię, która wygląda reboot system boot [kernel] [date]. To mówi ci, jak daleko wstecz sięga wtmp i że nie było żadnych restartów od początku dziennika. Może dziennik obrócił się 1 marca?
Aaron Copley,
To musi być lol Próbowałem na kilku innych systemach, a niektóre z nich pokazują takie wiersze: zrestartuj system boot 2.6.27.19-5-defa Thu 14 lipca 04:10 (64 + 12: 37). Wielkie dzięki!
Jack Z
9

Różni się w zależności od dystrybucji. Czasami dołącza to / var / log / {messages, syslog, dmesg}. Po pierwsze zrestartowałem, moje ostatnie 2 linie i pierwsze po ponownym uruchomieniu to:

Feb 29 13:16:07 hostname kernel: Kernel logging (proc) stopped.
Feb 29 13:16:07 hostname rsyslogd: [origin software="rsyslogd" swVersion="5.8.1" x-pid="592" x-info="http://www.rsyslog.com"] exiting on signal 15.
Feb 29 13:23:15 hostname kernel: imklog 5.8.1, log source = /proc/kmsg started.
Feb 29 13:23:15 hostname rsyslogd: [origin software="rsyslogd" swVersion="5.8.1" x-pid="572" x-info="http://www.rsyslog.com"] start
Feb 29 13:23:15 hostname rsyslogd: rsyslogd's groupid changed to 103
Feb 29 13:23:15 hostname rsyslogd: rsyslogd's userid changed to 101
Feb 29 13:23:15 hostname rsyslogd-2039: Could no open output pipe '/dev/xconsole' [try http://www.rsyslog.com/e/2039 ]
Feb 29 13:23:15 hostname kernel: [    0.000000] Initializing cgroup subsys cpuset
Feb 29 13:23:15 hostname kernel: [    0.000000] Initializing cgroup subsys cpu
Feb 29 13:23:15 hostname kernel: [    0.000000] Linux version 3.0.0-12-server (buildd@crested) (gcc version 4.6.1 (Ubuntu/Linaro 4.6.1-9ubuntu3) ) #20-Ubuntu SMP Fri Oct 7 16:36:30 UTC 2011 (Ubuntu 3.0.0-12.20-server 3.0.4)
Feb 29 13:23:15 hostname kernel: [    0.000000] Command line: BOOT_IMAGE=/vmlinuz-3.0.0-12-server root=/dev/mapper/hostname-root ro
Feb 29 13:23:15 hostname kernel: [    0.000000] KERNEL supported cpus:
Feb 29 13:23:15 hostname kernel: [    0.000000]   Intel GenuineIntel
Feb 29 13:23:15 hostname kernel: [    0.000000]   AMD AuthenticAMD
Feb 29 13:23:15 hostname kernel: [    0.000000]   Centaur CentaurHauls
Feb 29 13:23:15 hostname kernel: [    0.000000] Disabled fast string operations
Feb 29 13:23:15 hostname kernel: [    0.000000] BIOS-provided physical RAM map:

... i tak dalej. To pokazuje normalne wyłączenie. Nieoczekiwane zamknięcie może nie wskazywać czasu przejścia w tryb offline, ale możesz zgadywać na podstawie przerwy między ostatnią wiadomością a pierwszą, w zależności od tego, jak głośny jest Twój system.

Jeff Ferland
źródło
Dzięki za pomoc! Czy mogę więc polegać na „jądrze: [0,000000]” jako wskaźniku ponownego uruchomienia systemu?
Jack Z
5

Wpisz uptimepolecenie.

Dzięki temu dowiesz się, jak długo twój system był wyłączony, a także średnie obciążenia.

Edycja: możesz także poszukać /var/log/kern.log. Powinno to zawierać tylko komunikaty jądra, więc łatwiej będzie znaleźć komunikaty rozruchowe.

InChargeOfIT
źródło
Uwaga: jeśli ten serwer jest ważny, powinieneś rozważyć wdrożenie scentralizowanego serwera syslog z czymś takim jak Nagios do monitorowania stanu systemu i ostrzegania o awariach. Używam i uwielbiam AlienVault, który obejmuje (komponenty są opcjonalne): serwer syslog, nagios, wykrywanie włamań, skaner podatności, śledzenie zasobów i wiele innych.
InChargeOfIT
2

Sprawdź w / var / log / messages lub / var / log / boot logs czas uruchomienia systemu. Przykład z CentOS 6 ...

Feb 28 23:05:56 dev0 kernel: imklog 4.6.2, log source = /proc/kmsg started.
Feb 28 23:05:56 dev0 rsyslogd: [origin software="rsyslogd" swVersion="4.6.2" x-pid="1557" x-info="http://www.rsyslog.com"] (re)start
ewwhite
źródło
1

Na Ubuntu, patrzę na ciąg \] Linux versionw /var/log/syslog.

Będzie pasować do linii, które wyglądają mniej więcej tak:

27 Jun 2017 12:33:42.268 Hostname:my-hostname : [ 0.000000] Linux version 3.13.0-100-generic (buildd@lgw01-52) (gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3) ) #147-Ubuntu SMP Tue Oct 18 16:48:51 UTC 2016 (Ubuntu 3.13.0-100.147-generic 3.13.11-ckt39) Context
Teemu Leisti
źródło