История использования linux

Как я могу получить историю простоя для моего окна debian? После перезагрузки я не вижу опции для команды uptime, чтобы печатать историю простоя. Если это имеет значение, я бы хотел использовать эти периоды времени для графического отображения страницы в php, чтобы показать длительность работы веб-серверов между загрузками.

Обновление: Не уверен, что он основан на длительности времени или если последний получает reset при перезагрузке, но я получаю только самую последнюю отметку времени загрузки с последней командой. last -x также не возвращает никакой дополнительной информации. Похоже, что script - мой лучший выбор.

Обновление: Uptimed - это информация, которую я ищу, но не уверен, как grep эту информацию в коде. Управление моим собственным script для db кажется лучшим для приложения.

Ответ 1

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

uptime >> uptime.log

Затем настройте для него задание cron.

Ответ 2

Установите uptimed. Это именно то, что вы хотите.

Изменить:

Вы можете включить его на страницу PHP так же легко, как это:

<? system("/usr/local/bin/uprecords -a -B"); ?>

Примеры

Ответ 3

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

обновление

1800 ИНФОРМАЦИЯ ответ - лучшее решение.

Ответ 4

Попробуйте следующее:

last | grep reboot 

Ответ 5

в соответствии с last справочной страницей:

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

поэтому последний столбец команды #last reboot дает вам историю работоспособности:

#last reboot
reboot   system boot  **************** Sat Sep 21 03:31 - 08:27 (1+04:56)   
reboot   system boot  **************** Wed Aug  7 07:08 - 08:27 (46+01:19)

Ответ 6

Это не сохраняется между загрузками, но The Uptimes Project - это сторонний вариант для отслеживания, с программным обеспечением для диапазона платформ.

Еще один инструмент, доступный в Debian, uptimed, который отслеживает время от времени между загрузками.

Ответ 7

Я бы создал задание cron для выполнения с требуемым разрешением (например, 10 минут), введя следующее [в одной строке - я только что разделил его для целей форматирования] в вашем crontab (cron -l для списка, cron -e для редактирования).

0,10,20,30,40,50 * * * *
    /bin/echo $(/bin/date +\%Y-\%m-\%d) $(/usr/bin/uptime)
    >>/tmp/uptime.hist 2>&1

Это добавляет дату, время и время безотказной работы в файл uptime.hist каждые десять минут, пока машина работает. Затем вы можете просмотреть этот файл вручную, чтобы выяснить информацию или написать script, чтобы обработать его, как вы считаете нужным.

Всякий раз, когда время безотказной работы уменьшается, произошла перезагрузка с предыдущей записи. Когда между линиями имеются большие промежутки (т.е. Больше, чем ожидаемые десять минут), машина была отключена в течение этого времени.

Ответ 8

Я не думаю, что эта информация сохраняется между перезагрузками.

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

Ответ 9

Эта информация обычно не сохраняется. Однако вы можете подписаться на онлайн-сервис, который сделает это за вас. Вы просто устанавливаете клиента, который будет отправлять ваше время безотказной работы на сервер каждые 5 минут, и сайт представит вам график вашего времени:

http://uptimes-project.org/

Ответ 11

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

http://sourceforge.net/projects/tuptime/

Ответ 12

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

kern.log (в зависимости от вашего дистрибутива) должен записывать метку времени. Это будет что-то вроде: 2019-01-28T06: 25: 25.459477 + 00: 00 ядро someserver: [44114473.614361] somemessage

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

Ответ 13

Nagios может сделать даже очень красивые диаграммы об этом.