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ść:
\\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:
\\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.
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.
Mój wynik dla RHEL:
09:34:12 up 486 days, 1:31, 1 user
Ech linuxy i te ich kosmiczne uptime’y… 🙂
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
uptime is 6 years, 2 days, 15 hours, 58 minutes
Dziękuje 🙂
Czy istnieje jakiś sposób aby wyświetlać bieżący czas pracy serwera na stronie www?
Jest literówka w zdaniu:
„W Wierszu Poleceń możemy użyć komendy „net stat srv” …”
Powinno być „net stats srv” : )