Як я можу визначити, чи перезавантажилась система, а також час перезавантаження, переглядаючи журнали системи?


14

Як я можу визначити, чи перезавантажилась система Linux і визначити час перезавантаження, переглянувши системні журнали, наприклад /var/log/messages?


Як перезавантажити як? Через команду консолі? Втрати потужності? Поломка обладнання?
devicenull

@devicenull: Я думаю, що повинно бути все вищесказане, тому що корисно відповісти на запитання типу "Коли знову повернулася влада?" "Інженер зробив ЩО? Коли це сталося?"
Стефан Ласєвський

Відповіді:


24

Дуже, дуже легко. У lastкоманді розбирає /var/log/wtmpдля активності користувача , включаючи псевдо-користувач перезавантаження.

Використовуйте команду: last reboot

Див. Для man lastотримання додаткової інформації. http://linux.die.net/man/1/last

Псевдокористувач перезавантажує журнали під час кожного перезавантаження системи. Таким чином, остання перезавантаження покаже журнал усіх перезавантажень з моменту створення файлу журналу.

Якщо файл / var / log / wtmp був повернутий після останнього перезавантаження, ви можете побачити попередні перезавантаження, використовуючи last -f /var/log/wtmp.1 reboot.


Привіт Аарон, дякую за допомогу! Я спробував "останню перезавантаження" в моїй системі і отримав це: "wtmp починається Чт 1 березня 11:10:40 2012", однак "uptime" дав мені це: "17:29:21 до 6 днів, 9:24, 7 користувачів, середнє завантаження: 0,00, 0,01, 0,05 " Поточний час у моїй системі - 17:31, 1 березня, MST. Тож здається, що "остання перезавантаження" подумала, що система перезавантажилась менше дня тому, що насправді не відповідає дійсності ... Чи можете ви розповісти більше про те, як "останній" визначає час перезавантаження? Спасибі!
Jack Z

2
Ця мітка часу не вказує на перезавантаження. Ви побачили б такий рядок reboot system boot [kernel] [date]. Отже, це говорить вам про те, як далеко йде wtmp і що перезавантажень не було з початку журналу. Може, колода обертається 1 березня?
Аарон Коплі

Це, мабуть, хай я спробував на кількох інших системах, і деякі з них показують такі лінії: перезавантажте систему завантаження системи 2.6.27.19-5-defa Чт 14 липня 04:10 (64 + 12: 37). Дуже дякую!
Jack Z

9

Він змінюється від розподілу до розподілу. Іноді / var / log / {messages, syslog, dmesg} включить його. Один, який я щойно перезавантажив, мої останні 2 рядки та найперші після перезавантаження:

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:

... і так далі. Це показує нормальне відключення. Несподіване вимкнення може не сказати вам час переходу в режим офлайн, але ви можете здогадатися, виходячи з розриву між останнім повідомленням та першим, залежно від того, наскільки шумна ваша система.


Спасибі за вашу допомогу! Тож чи можу я покластися на "ядро: [0.000000]" як індикатор перезавантаження системи?
Jack Z

5

Введіть uptimeкоманду.

Це покаже вам, як довго працює система, а також завантажує середні показники.

Редагувати: ви також можете шукати /var/log/kern.log. Це повинно містити лише повідомлення ядра, тому буде легше знайти повідомлення завантаження.


Примітка. Якщо цей сервер важливий, вам слід розглянути можливість застосування централізованого сервера syslog з чимось на зразок Nagios для моніторингу стану здоров'я системи та попередження про перебої. Я використовую і люблю AlienVault, що включає в себе (компоненти необов’язкові): сервер syslog, nagios, виявлення вторгнень, сканер вразливості, відстеження активів та інше.
InChargeOfIT

2

Подивіться у ваші / var / log / messages або / var / log / boot журнали на час завантаження системи. Приклад із 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

1

У Ubuntu я шукаю рядок \] Linux versionу /var/log/syslog.

Він буде відповідати рядкам, які виглядають приблизно так:

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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.