Как я могу узнать, перезагрузилась ли система, а также время перезагрузки, просмотрев системные журналы?


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. Таким образом, похоже, что «последняя перезагрузка» думала, что система была перезагружена меньше, чем день назад, что не совсем так ... Можете ли вы рассказать мне больше о том, как «последняя» определяет время перезагрузки? Благодарность!
Джек Z

2
Эта временная метка не указывает на перезагрузку. Вы бы увидели линию, которая выглядит как reboot system boot [kernel] [date]. Так что это говорит вам о том, как далеко заходит назад wtmp и что с момента начала журнала перезагрузок не было. Может быть, журнал вращается 1 марта?
Аарон Копли

Должно быть, это так, я попробовал на нескольких других системах, и некоторые из них показывают строки вроде этой: перезагрузка системы boot 2.6.27.19-5-defa Чт 14 июля 04:10 (64 + 12: 37). Большое спасибо!
Джек 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:

... и так далее. Это показывает нормальное отключение. Неожиданное отключение может не указывать вам время, когда оно перешло в автономный режим, но вы можете догадаться, исходя из разрыва между последним сообщением и первым, в зависимости от того, насколько шумна ваша система.


Спасибо за вашу помощь! Так могу ли я полагаться на «kernel: [0.000000]» в качестве индикатора для перезагрузки системы?
Джек З

5

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

Это скажет вам, как долго работала ваша система, а также усреднит загрузку.

Изменить: вы также можете найти /var/log/kern.log. Он должен содержать только сообщения ядра, поэтому будет легче найти загрузочные сообщения.


Примечание. Если этот сервер важен, вам следует рассмотреть возможность внедрения централизованного сервера системного журнала с чем-то вроде Nagios для мониторинга работоспособности системы и предупреждения о сбоях. Я использую и люблю AlienVault, который включает (компоненты не являются обязательными): сервер системного журнала, nagios, обнаружение вторжений, сканер уязвимостей, отслеживание активов и многое другое.
InChargeOfIT

2

Посмотрите в ваших / var / log / messages или / var / log / boot logs время загрузки системы. Пример из 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.