Существует ли способ сказать, сколько раз мой компьютер перезагрузил в 24-часовой период?

Я предполагаю, что это то, как: http://linux.die.net/man/8/kexec

kexec (8) - страница справочника Linux

Имя:

kexec - непосредственно начальная загрузка в новое ядро

Резюме

/sbin/kexec [-v (-версия)] [-f (-сила)] [-x (-нет)] [-l (-загрузка)] [-p (-паника загрузки)] [-u (-разгружаются)] [-e (-должностное лицо)] [-t (-тип)] [-mem-min=addr] [-mem-max=addr]

Описание

kexec является системным вызовом, который позволяет Вам загрузиться и загрузиться в другое ядро от в настоящее время рабочего ядра. kexec выполняет функцию загрузчика из ядра. Главная разница между стандартной начальной загрузкой системы и начальной загрузкой kexec - то, что инициализация аппаратного обеспечения, обычно выполненная BIOS или встроенным микропрограммным обеспечением (в зависимости от архитектуры), не выполняется во время начальной загрузки kexec. Это имеет эффект сокращения времени, требуемого для перезагрузки. Удостоверьтесь, что Вы выбрали CONFIG_KEXEC=y при конфигурировании ядра. Опция CONFIG_KEXEC включает kexec системный вызов.

5
25.05.2014, 15:27
3 ответа
[1179581] Перезагрузки системы обычно регистрируются в двоичном файле [1180068]/var/log/wtmp[1180069]. Самый простой способ прочитать этот файл - с помощью команды [1180070]last[1180071], которая печатает такие строки для каждой перезагрузки:

, так что если вы выпустите [1180072]last reboot[1180073], вы получите список всех перезагрузок, записанных в вашем файле [1180074]wtmp[1180075].[1179584].

11
27.01.2020, 20:31
[1179607]Вы можете вызвать прямой вызов

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

В нем дополнительно указывается время, с которого начинается лог-файл ([1180092]/var/log/wtmp[1180093]). Если вас интересует и прошлое, то обычно есть один или несколько файлов с прошлыми логами ([1180094]/var/log/wtmp.1[1180095])....

Ниже приведен небольшой пример скрипта для подсчета количества перезагрузок и сбоев за один день[1180096]. Вы можете запустить его с помощью [1180097]/bin/bash Myscript.sh[1180098], чтобы получить результаты на сегодня. или [1180099]/bin/bash Myscript.sh "Tue May 20"[1180100], чтобы получить результаты для примечаний от 20 мая

: с перезагрузкой у вас мало проблем, потому что каждый раз при перезагрузке есть одна строка[1180101]. Это число отказов является только ориентировочным: в случае отказа может быть много строк (например, по одной для каждой оболочки). Более того, если сбой не является резким, вы можете иметь разное время для одного и того же сбоя (может быть секунда или минута, если он находится на границе). Более того, даже если это случается чаще, можно сделать крэш оболочкой без сбоя системы. Опция сортировки пытается убить дубликаты строк за одно и то же время. Для получения корректного результата следует считать перезагрузкой только строки перезагрузки без срывов между ними и как перезагрузка с предыдущим сбоем. [1179617]

8
27.01.2020, 20:31

Я сделал простой сценарий оболочки, который покажет вам, сколько раз наша система перезагружалась в день.

#!/bin/bash
day=$(date | awk {'print $1 " " $3 " " $2'})
echo $day
reboot_times=$(last reboot | grep "$day" | wc -l)
echo $reboot_times times rebooted

выход

Ср

2 раза перезагрузился

0
27.01.2020, 20:31

Теги

Похожие вопросы