Kiedy wystartował mój linux? Czyli, jak znaleźć „boot time”?

Wiadomo – „uptime” prawdę Ci powie, ale komu by się chciało kalkulować kiedy było te 456 dni 17 godzin 32 minuty i 2 sekundy temu? Zakładam też, ze nie chce Ci się kombinować regexów… Tak więc proponuje krótkiego one-linera, który poda Ci konkretną datę i godzinę uruchomienia Twojego linuxa.

Jedyne czego potrzeba to perl 😉 jak już masz perla to po prostu skopiuj, wklej w terminalu (albo przepisz 😉 ) i już:

uptime | \
perl -ne '/.*up +(?:(\d+) days?,? +)?(\d+):(\d+),.*/; $total=((($1*24+$2)*60+$3)*60);
$now=time(); $now-=$total; $now=localtime($now); print $now,"\n";'

Wynik prezentuje się doprawdy dobrze:

Piotr Berent

Piotr Berent od 2002 w pocie czoła pracujący w środowisku IT, obecnie freelancer - Inżynier Systemowy. Entuzjasta wirtualizacji, automatyzacji i rozwiązań opartych o narzędzia open-source.

4 komentarze

  1. Grzegorz pisze:

    Panie złoty, kto tak Panu…. wystarczy uptime -s ;).

    • Piotr Berent pisze:

      Człowiek się uczy całe życie 😉

      Ale uptime -s nie pokazuje dnia tygodnia 😉

    • N/A pisze:

      uptime z zestawu BusyBoxa nie obsługuje opcji i wtedy ten one-liner może mieć sens.

    • Piotr Berent pisze:

      Nie tylko – starsze wersje uptime też tego nie posiadają.

Leave a Reply