UPTIME w systemach Windows i Linux


 

Dzisiaj z grubsza omówimy „uptime”, czyli czas pracy systemu operacyjnego. „Uptime” mierzony jest od momentu wystartowania systemu i liczony jest od nowa po każdym kolejnym uruchomieniu. Informacja o „uptime” może przydać się do odpowiedzi na wiele pytań np. „Kiedy mój serwer był ostatnio restartowany?” lub „Dlaczego wczoraj nie wykonał się backup maszyny?”. W mojej pracy zdarzyło mi się wielokrotnie przeglądać czasy pracy serwerów aby potwierdzić restart jako przyczynę problemu, ale wykorzystuję tę informację również w banalnych sytuacjach np. by upewnić się ile godzin spędziłem już przy komputerze.

UPTIME W WINDOWS
Systemy Windows przechowują informacje o „uptime” w wielu miejscach z których przedstawię Wam swoje ulubione.
Po pierwsze „uptime” znajdziemy w Menedżerze Zadań (taskmgr.exe):

W Wierszu Poleceń możemy użyć komendy „net stat srv”, której efekt będzie następujący:

Istnieje również polecenie „systeminfo„, które zwróci nam mnóstwo informacji o zainstalowanym systemie, sprzęcie i zainstalowanych poprawkach bezpieczeństwa. Wśród nich nietrudno dostrzec poszukiwaną informację o czasie pracy systemu:

Gdybyśmy chcieli zbierać informację z wielu serwerów, na pewno nie będzie miało sensu zbieranie wszystkich tych detali z każdej maszyny. W Wierszu Poleceń możemy łatwo odfiltrować poszukiwaną wartość, czyli wyświetlić tylko ten wers, który zawiera podaną przez nas frazę.

„Uptime” dla angielskiego systemu znajdziemy poleceniem:

Systeminfo | find „System Boot Time”

..zaś w polskim Windowsie będzie to:

Systeminfo | find „Czas rozruchu systemu:”

Aby sprawdzić czas pracy zdalnej maszyny można użyć wspomnianego kiedyś narzędzia PSEXEC.
Istnieje jednak inne ciekawe rozwiązanie. Microsoft udostępnia użyteczny programik o nazwie UPTIME.EXE, który uruchamiamy w Wierszu Poleceń.

Jego działanie jest bajecznie proste. Polecenie „uptime” od razu poda nam szukaną wartość:

C:\Windows\System32\uptime.exe
\\TESTWIN7COMPUTER has been up for: 1 day(s), 6 hour(s), 22 minute(s), 3 second(s)

Aby sprawdzić „uptime” na zdalnym komputerze, użyjemy poniższej składni z nazwą komputera lub adresem IP:

uptime.exe \\komputer_zdalny

Oto przykładowe zastosowanie programu uptime.exe i jego efekt:

C:\Windows\System32\uptime.exe \\192.168.1.25
\\192.168.1.25 has been up for: 1 day(s), 8 hour(s), 26 minute(s), 54 second(s)

 

UPTIME W LINUKSIE

Polecenie „uptime” jest natywnie wbudowane chyba we wszystkie dystrybucje Linuksa.
Posiada tylko jeden przełącznik, który wyświetli wersję programu:

uptime -V

Samo polecenie „uptime”, wyświetli nam nieco więcej informacji, niż jego Windowsowy naśladowca:

20:00:21 up 4:46, 2 users, load average: 0.05, 0.05, 0.06

W powyższym przykładzie:
„20:00:21” to czas uruchomienia polecenia,
„up 4:46” to nasz uptime, czyli czas działania systemu
„2 users” oznacza dwóch użytkowników pracujących obecnie w systemie
„0.05, 0.05, 0.06” to obciążenie CPU dla 1,5 i 15 minut.

Aby sprawdzić „uptime” na zdalnym Linuksie, wykorzytamy polecenie:

ssh root@nazwa_hosta uptime

…gdzie „root” to nazwa użytkownika, a „nazwa_hosta” to oczywiście nazwa zdalnego systemu (możemy podać też adres IP).

Zdalne wykonywanie poleceń w Linuksie to materiał na oddzielny artykuł, więc w tym miejscu zakończymy :) Jeśli macie swoje własne sprytne sztuczki, lub chcecie podzielić się swoimi doświadczeniami z „uptime”, piszcie.


Podobne Tematy:

  • Dariusz Góra

    Ja też mierzyłem sobie kiedyś uptime, mój personal best na desktopie do codziennej, dość intensywnej pracy z WinXP to 32 dni (bez standby i hibernacji), potem karta sieciowa odmawiała posłuszeństwa i nie nawiązywała więcej połączeń. Bez sieci nie dało się zbytnio pracować więc trzeba było wreszcie zrobić restart i przy okazji zainstalować wszystkie zaległe poprawki (pozdrawiam ówczesnych koordynatorów patchowania :]). Na Win7 nie udało się już powtórzyć tego wyniku.

  • Scottie

    Mój wynik dla RHEL:
    09:34:12 up 486 days, 1:31, 1 user

  • Scottie, słabo, słabo:

    – pierwszy jakiego używam codziennie: 10:10:09 up 533 days, 23:02, 36 users
    – drugi: Uptime is 2003 days, 6 hours, 49 minutes

  • blada_twarz

    uptime is 6 years, 2 days, 15 hours, 58 minutes

    Dziękuje :)

  • Michał

    Czy istnieje jakiś sposób aby wyświetlać bieżący czas pracy serwera na stronie www?

    • < ?php $uptime = shell_exec("cut -d. -f1 /proc/uptime"); $days = floor($uptime/60/60/24); $hours = $uptime/60/60%24; $mins = $uptime/60%60; $secs = $uptime%60; echo "Uptime $days dni $hours godzin $mins minut and $secs sekund"; ?>

  • rafalwaclaw

    Jest literówka w zdaniu:
    „W Wierszu Poleceń możemy użyć komendy „net stat srv” …”
    Powinno być „net stats srv” : )