Есть ли способ узнать, сколько раз мой компьютер перезагружался за 24 часа?
5
Я занимался 24-часовым программированием, мне приходилось много раз перезагружаться, и мне было интересно, есть ли способ точно определить, сколько компьютеров было перезагружено или вышло из строя.
Перезагрузки системы обычно регистрируются в двоичном файле /var/log/wtmp. Самый простой способ прочитать этот файл - использовать lastкоманду, которая печатает такие строки для каждой перезагрузки:
reboot system boot 3.10-3-amd64 Fri May 2 19:30 - 21:02 (5+01:32)
поэтому, если вы выдадите запрос last reboot, вы получите список всех перезагрузок, зарегистрированных в вашем wtmpфайле.
Не нужно grep, просто last rebootотображает записи от "пользователя" reboot.
user80551
Это правда, я просмотрел эту маленькую деталь при чтении lastman-страницы сегодня (я ожидал, что это будет значение параметра, а не простой аргумент ...)
mreithub
8
Вы можете вызвать напрямую
last reboot
Псевдопользовательская перезагрузка регистрируется каждый раз при перезагрузке системы. Таким образом, последняя перезагрузка покажет журнал всех перезагрузок с момента создания файла журнала.
кроме того, он дает время, с которого запускается файл журнала ( /var/log/wtmp). Если вас также интересует прошлое, обычно там хранятся один или несколько файлов с прошлыми журналами ( /var/log/wtmp.1) ...
Ниже приведен небольшой пример скрипта для подсчета количества перезагрузок и сбоев за один день.
Вы можете запустить его, /bin/bash Myscript.shчтобы получить результаты на сегодня или /bin/bash Myscript.sh "Tue May 20"20 мая
Примечания: с перезагрузкой у вас мало проблем, потому что при каждой перезагрузке по одной строке.
Этот счетчик сбоя является только ориентировочным: в случае сбоя вы можете иметь много строк (например, по одной на каждую оболочку). Более того, если сбой не является внезапным, у вас может быть разное время для одного и того же сбоя (возможно, секунда или минута, если он находится на границе). Более того, даже если это случается реже, вы можете сделать аварийное завершение оболочки без сбоя системы. Опция сортировки пытается убить повторяющиеся строки за одно и то же время. Чтобы получить правильный результат, вы должны считать перезагрузкой только строки перезагрузки без сбоев между ними, а также перезагрузку с сбоем ранее.
Tuptime отслеживает закрытие / запуск системы, а также позволяет фильтровать их отчет с заданной отметки времени.
Ну, так как последние 24 часа составляют 86400 секунд, строка выполнения с отрицательным временем в секундах и указанием команды даты в качестве ссылки:
$ date && tuptime --tsince -86400
dom ene 7 10:13:06 CET 2018
System startups: 3 since 10:13:06 06/01/18
System shutdowns: 2 ok - 0 bad
System uptime: 3.42 % - 49 minutes and 16 seconds
System downtime: 96.58 % - 23 hours, 10 minutes and 44 seconds
System life: 1 day, 0 hours, 0 minutes and 0 seconds
...
Другой интересный вывод - опция table:
$ tuptime --tsince -86400 -t
No. Startup Date Uptime Shutdown Date End Downtime
78 OK 3 hours, 23 minutes and 11 seconds
79 13:51:57 06/01/18 10 minutes and 54 seconds 14:02:51 06/01/18 OK 19 hours, 31 minutes and 53 seconds
80 09:34:44 07/01/18 54 minutes and 2 seconds
Ответы:
Перезагрузки системы обычно регистрируются в двоичном файле
/var/log/wtmp
. Самый простой способ прочитать этот файл - использоватьlast
команду, которая печатает такие строки для каждой перезагрузки:поэтому, если вы выдадите запрос
last reboot
, вы получите список всех перезагрузок, зарегистрированных в вашемwtmp
файле.источник
last reboot
отображает записи от "пользователя"reboot
.last
man-страницы сегодня (я ожидал, что это будет значение параметра, а не простой аргумент ...)Вы можете вызвать напрямую
кроме того, он дает время, с которого запускается файл журнала (
/var/log/wtmp
). Если вас также интересует прошлое, обычно там хранятся один или несколько файлов с прошлыми журналами (/var/log/wtmp.1
) ...Ниже приведен небольшой пример скрипта для подсчета количества перезагрузок и сбоев за один день.
Вы можете запустить его,
/bin/bash Myscript.sh
чтобы получить результаты на сегодня или/bin/bash Myscript.sh "Tue May 20"
20 маяПримечания: с перезагрузкой у вас мало проблем, потому что при каждой перезагрузке по одной строке.
Этот счетчик сбоя является только ориентировочным: в случае сбоя вы можете иметь много строк (например, по одной на каждую оболочку). Более того, если сбой не является внезапным, у вас может быть разное время для одного и того же сбоя (возможно, секунда или минута, если он находится на границе). Более того, даже если это случается реже, вы можете сделать аварийное завершение оболочки без сбоя системы. Опция сортировки пытается убить повторяющиеся строки за одно и то же время. Чтобы получить правильный результат, вы должны считать перезагрузкой только строки перезагрузки без сбоев между ними, а также перезагрузку с сбоем ранее.
источник
Легко узнать с помощью tuptime , приведу пример:
Tuptime отслеживает закрытие / запуск системы, а также позволяет фильтровать их отчет с заданной отметки времени.
Ну, так как последние 24 часа составляют 86400 секунд, строка выполнения с отрицательным временем в секундах и указанием команды даты в качестве ссылки:
Другой интересный вывод - опция table:
источник
Я сделал скрипт оболочки simpe, который покажет вам, сколько раз наша система перезагружалась за день.
выход
Мы б
2 раза перезагрузился
источник