Как вывести список значений последних uptime'ов?
Подразумевается, что список последних перезагрузок я могу получить так:
last -x --time-format iso reboot | awk '{print $5}'
потом этот список могу запихать в SQL
SELECT
LAG(t.v::timestamp) OVER(ORDER BY t.v::timestamp DESC)
-
t.v::timestamp
FROM (
VALUES
('2025-02-02T04:38:21+07:00')
,('2025-02-02T02:24:37+07:00')
,('2025-02-02T02:14:04+07:00')
,('2025-02-02T00:51:46+07:00')
,('2025-02-02T00:45:00+07:00')
,('2025-01-30T01:39:10+07:00')
) t(v);
А как без SQL это сделать? Как в командной строке посчитать интервал между значениями из соседних строк?
-----------
Первичный смысл - был аварийный сервер, который перезагружался и оставлял после перезагрузок «still runing». После нормальной перезагрузки все эти записи отметились одним временем - не видно с первого взгляда uptime'ы между авариями, только uptime от каждой из них до gracefull reboot.
Вторичный смысл - может пригодится ещё когда такое, и чтоб без SQL.