
Поскольку я исследовал сервер, который регулярно перезагружается, я начал просматривать утилиту "last", но проблема в том, что я не могу найти, что именно означают столбцы. Я, конечно, просмотрел man, но он не содержит этой информации.
root@webservice1:/etc# last reboot
reboot system boot 3.2.13-grsec-xxx Thu Apr 12 09:44 - 09:58 (00:13)
reboot system boot 3.2.13-grsec-xxx Thu Apr 12 09:34 - 09:43 (00:08)
reboot system boot 3.2.13-grsec-xxx Thu Apr 12 09:19 - 09:33 (00:13)
reboot system boot 3.2.13-grsec-xxx Thu Apr 12 08:51 - 09:17 (00:25)
reboot system boot 3.2.13-grsec-xxx Thu Apr 12 00:11 - 09:17 (09:05)
reboot system boot 3.2.13-grsec-xxx Wed Apr 11 19:40 - 09:17 (13:36)
reboot system boot 3.2.13-grsec-xxx Sun Apr 8 22:06 - 09:17 (3+11:10)
reboot system boot 3.2.13-grsec-xxx Sat Apr 7 14:31 - 09:17 (4+18:45)
reboot system boot 3.2.13-grsec-xxx Fri Apr 6 10:20 - 09:17 (5+22:56)
reboot system boot 3.2.13-grsec-xxx Thu Apr 5 00:16 - 09:17 (7+09:01)
reboot system boot 3.2.13-grsec-xxx Tue Apr 3 07:34 - 09:17 (9+01:42)
reboot system boot 3.2.13-grsec-xxx Tue Apr 3 02:31 - 09:17 (9+06:45)
reboot system boot 3.2.13-grsec-xxx Mon Apr 2 23:17 - 09:17 (9+09:59)
Первые столбцы имеют смысл вплоть до включенных версий ядра. Что именно представляют эти времена? Последний, похоже, является временем безотказной работы.
Во-вторых, это должен быть сервер, работающий 24/7, но время, похоже, не совпадает, что может означать, что он находится в состоянии простоя или что-то подобное. Например, если мы посмотрим на две последние строки, означает ли это, что мой сервер был выключен с 2 апреля 09:17 до 3 апреля 02:31?
Что касается справочной информации, то это сервер Debian Squeeze.
РЕДАКТИРОВАТЬ
Если последние столбцы — это время начала, время остановки и время безотказной работы, как можно интерпретировать эти две строки:
reboot system boot 3.2.13-grsec-xxx Tue Apr 3 07:34 - 09:17 (9+01:42)
reboot system boot 3.2.13-grsec-xxx Tue Apr 3 02:31 - 09:17 (9+06:45)
Похоже, что второй сеанс заканчивается после начала первого, что для меня не имеет смысла.
решение1
Думаю, этому посту уже три года, но я все равно отвечу, ради блага тех, кто натолкнется на него в будущем, как это сделал я совсем недавно.
Из прочтения других постов и собственного мониторинга выходных данных за определенный период времени следует, что в каждой строке указаны дата и время начала сеанса, время окончания сеанса (но не дата окончания) и продолжительность сеанса (как долго пользователь находился в системе) в следующем формате:
(дни+часы:минуты)
Пользователь, выполняющий перезагрузку, по-видимому, отмечен как входящий в систему при каждом запуске системы и выходящий из нее при перезагрузке или выключении системы, и в этих строках информация о «длительности сеанса» представляет собой продолжительность времени (дни+часы:минуты), в течение которого продолжался «сеанс», то есть как долго система была включена до выключения.
Для меня последняя запись о перезагрузке показывает текущее время как время «выхода из системы», а данные о продолжительности сеанса для этой записи соответствуют текущему времени безотказной работы.
Итак, в этой строке:
перезагрузка системы загрузка 3.2.13-grsec-xxx Вт Апр 3 07:34 - 09:17 (9+01:42)
Система была запущена во вторник, 3 апреля, в 7:34 утра и была выключена через 9 дней, 1 час и 42 минуты (12 апреля), в 9:17 утра. (Или этот вывод был собран в то время, и это самая последняя запись о перезагрузке, и «reboot» на самом деле еще не «вышел из системы». В этом случае вывод изменится, если вы снова выполните последнюю команду.)
Для меня загадка, почему у вас есть две записи для пользователя, который перезагрузился 3 апреля, и обе продолжительностью 9 дней; мои системы этого не делают.
решение2
Краткое содержание
- Первая временная метка, по-видимому, соответствует времени сбоя системы во время перезагрузки.
- Вторая временная метка и прошедшее время не очень полезны.
- Передача
-x
параметраlast
может быть полезной для отображения других событий, связанных с выключениями и изменениями уровня выполнения, которые влияют на временные метки, показанные в строкахreboot
.tuptime
Инструмент, на который ссылаются в другом ответе, может прояснить это, но я не смотрел на него.
Подробности
На странице руководства last
CentOS 6 и 7 написано:
Псевдопользователь reboot входит в систему каждый раз при перезагрузке системы.
Ничего не говорится о том, когда пользователь выходит из системы, и приведенные ниже доказательства, похоже, предполагают, что время выхода из системы явно не регистрируется. На страницах reboot
и shutdown
man есть более подробная информация о регистрации изменений уровня выполнения, если кому-то интересно.
В результате тестирования выяснилось, что вход в систему произошел в конце процесса выключения, а не в момент reboot
подачи команды.
Поэтому, по-видимому, время выхода из системы (вторая временная метка) и продолжительность входа в систему (показано в скобках) следует игнорировать.
Если вы передадите -F
опцию last
, он покажет вам полные временные метки, что немного прояснит, что машина не перезагружается случайно в одно и то же время, а просто показывает одну и ту же временную метку несколько раз. Кроме того, если вы передадите флаг -x
, он покажет «записи о завершении работы системы и изменения уровня выполнения».
Здесь я запустил его на CentOS 7, а также передал -R
опцию подавления столбца hostname/kernel version. Я также удалил некоторые неинтересные входы root:
# date ; last -x -F -R
Mon Nov 12 01:10:44 UTC 2018
root pts/0 Mon Nov 12 00:02:57 2018 still logged in
runlevel (to lvl 3) Sat Nov 10 17:57:29 2018 - Mon Nov 12 01:10:44 2018 (1+07:13)
reboot system boot Sat Nov 10 17:57:12 2018 - Mon Nov 12 01:10:44 2018 (1+07:13)
runlevel (to lvl 3) Sat Oct 27 17:58:20 2018 - Sat Nov 10 17:57:29 2018 (13+23:59)
reboot system boot Sat Oct 27 17:58:03 2018 - Mon Nov 12 01:10:44 2018 (15+07:12)
runlevel (to lvl 3) Sat Jul 21 18:14:55 2018 - Sat Oct 27 17:58:20 2018 (97+23:43)
reboot system boot Sat Jul 21 18:14:16 2018 - Mon Nov 12 01:10:44 2018 (113+06:56)
runlevel (to lvl 3) Sun Nov 12 22:36:14 2017 - Sat Jul 21 18:14:55 2018 (250+19:38)
reboot system boot Sun Nov 12 22:35:35 2017 - Mon Nov 12 01:10:44 2018 (364+02:35)
root pts/0 Fri Nov 10 07:13:20 2017 - crash (2+15:22)
runlevel (to lvl 3) Sun Aug 27 04:15:56 2017 - Sun Nov 12 22:36:14 2017 (77+18:20)
reboot system boot Sun Aug 27 04:14:59 2017 - Mon Nov 12 01:10:44 2018 (441+20:55)
runlevel (to lvl 3) Mon Aug 14 00:14:01 2017 - Sun Aug 27 04:15:56 2017 (13+04:01)
reboot system boot Mon Aug 14 00:13:46 2017 - Mon Nov 12 01:10:44 2018 (455+00:56)
Во всех 6 строках «перезагрузки» выше время выхода из системы равно текущему времени.
shutdown system down Fri Aug 11 08:05:29 2017 - Mon Aug 14 00:13:46 2017 (2+16:08)
root pts/0 Fri Aug 11 08:05:23 2017 - down (00:00)
runlevel (to lvl 3) Fri Jun 30 07:05:42 2017 - Fri Aug 11 08:05:29 2017 (42+00:59)
reboot system boot Fri Jun 30 07:05:27 2017 - Fri Aug 11 08:05:29 2017 (42+01:00)
[...]
root pts/0 Fri Jun 30 05:48:16 2017 - crash (01:17)
root pts/0 Tue Jun 27 04:59:56 2017 - Tue Jun 27 05:00:30 2017 (00:00)
root pts/0 Mon Jun 26 11:20:57 2017 - Mon Jun 26 04:24:39 2017 (-6:-56)
runlevel (to lvl 3) Mon Jun 26 11:15:13 2017 - Fri Jun 30 07:05:42 2017 (3+19:50)
reboot system boot Mon Jun 26 11:14:57 2017 - Fri Aug 11 08:05:29 2017 (45+20:50)
root pts/0 Sun Jun 25 14:07:51 2017 - crash (21:07)
[...]
root tty1 Thu Jun 22 13:07:42 2017 - crash (3+22:07)
runlevel (to lvl 3) Thu Jun 22 13:07:07 2017 - Mon Jun 26 11:15:13 2017 (3+22:08)
reboot system boot Thu Jun 22 13:06:51 2017 - Fri Aug 11 08:05:29 2017 (49+18:58)
root pts/0 Thu Jun 22 12:43:56 2017 - crash (00:22)
runlevel (to lvl 3) Thu Jun 22 12:30:53 2017 - Thu Jun 22 13:07:07 2017 (00:36)
reboot system boot Thu Jun 22 12:30:38 2017 - Fri Aug 11 08:05:29 2017 (49+19:34)
root pts/1 Thu Jun 22 12:26:49 2017 - crash (00:03)
root pts/0 Thu Jun 22 11:55:28 2017 - crash (00:35)
runlevel (to lvl 3) Thu Jun 22 11:49:53 2017 - Thu Jun 22 12:30:53 2017 (00:41)
reboot system boot Thu Jun 22 11:49:14 2017 - Fri Aug 11 08:05:29 2017 (49+20:16)
Все 5 строк «перезагрузки» выше имеют время выхода из системы, равное времени «выключения системы», которое последовало за ними.
shutdown system down Thu Jun 22 11:47:45 2017 - Thu Jun 22 11:49:14 2017 (00:01)
[...]
runlevel (to lvl 3) Wed Jun 21 15:59:42 2017 - Thu Jun 22 11:47:45 2017 (19:48)
reboot system boot Wed Jun 21 15:59:27 2017 - Thu Jun 22 11:47:45 2017 (19:48)
Время выхода из системы при «перезагрузке» снова совпадает со временем «выключения системы».
shutdown system down Wed Jun 21 15:57:58 2017 - Wed Jun 21 15:59:27 2017 (00:01)
root pts/0 Wed Jun 21 14:27:43 2017 - down (01:30)
[...]
runlevel (to lvl 3) Tue Jun 20 17:14:15 2017 - Wed Jun 21 15:57:58 2017 (22:43)
reboot system boot Tue Jun 20 17:14:00 2017 - Wed Jun 21 15:57:58 2017 (22:43)
Как указано выше.
Из приведенных выше результатов я делаю вывод, что для псевдопользователя «перезагрузка» не записано явное время выхода из системы, поэтому last
назначаю ему время выхода из системы следующей «загрузки выключения системы» или текущее время, если за ней не следует «загрузка выключения системы».
Для записей «уровень запуска (до уровня 3)» предполагается более разумное время выхода из системы, но, похоже, оно не учитывает сбои.
решение3
Судя по странице руководства, последние столбцы — это время начала сеанса, время его окончания и продолжительность.
решение4
Последняя строка uptime, как вы говорите. Последние два столбца время перезагрузки и текущее время, я думаю. Потому что когда я запускаю последнюю команду, второй столбец сзади показывает текущее время и всегда меняется.