Дата и время старта сервера

Команда uptime показывает время прошедшее с момента старта сервера. Когда мне для разбора логов потребовалось узнать время старта сервера я не нашёл способа получить время старта сервера например в формате YYYY-MM-DD HH:MM.

Вот результат работы uptime

$ uptime
 18:01:18 up 473 days,  6:56,  1 user,  load average: 0.08, 0.03, 0.00

Распарсим его и сформируем строку для команды date

$ uptime | sed -e 's/,//g' | awk '{split($5,time,":"); printf("-%s days -%s hours -%s minutes\n", $3, time[1], time[2])}'
-473 days -7 hours -02 minutes

И получим следующий однострочный скрипт

$ DAYSAGO=`uptime | sed -e 's/,//g' | awk '{split($5,time,":"); printf("-%s days -%s hours -%s minutes\n", $3, time[1], time[2])}'`; date --date="${DAYSAGO}" +"%Y-%m-%d %H:%M"
2014-01-10 11:05
Примечание От запуска к запуску скрипта время будет плавать на ± одну минуту. Это связано с тем, что uptime возвращает время без секунд.