Я бы создал задачу cron для запуска с требуемым разрешением (скажем, 10 минут), введя следующую [on одну одну строку - я только что разделил ее для целей форматирования] в вашем 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 каждые десять минут, пока машина работает. Затем вы можете проверить этот файл вручную, чтобы выяснить информацию, или написать сценарий для его обработки по своему усмотрению.
Когда время безотказной работы уменьшается, после предыдущей записи происходит перезагрузка. Если между линиями имеются большие промежутки (т. Е. Больше, чем ожидаемые десять минут), машина в течение этого времени не работала.