email: darw32@poczta.onet.pl


Linux - 11.Utrzymywanie Aktualnego Czasu

Wyświetlanie i Zmienianie Czasu

W dystrybucji Debian strefa czasowa ustawiania jest za pomocą łącza symbolicznego /etc/localtime. Odnośnik wskazuje na plik zawierający dane dotyczące lokalnej strefy czasu. Pliki wszystkich stref przechowywane są w /usr/lib/zoneinfo. Inne dystrybucje mogą to robić odmiennie.

Użytkownik może zmienić swoją strefę czasu ustawiając odpowiednio zmienną TZ. Jeżeli nie jest ona ustawiona używana jest strefa systemu. Składnia wartość zmiennej TZ opisana jest w podręczniku tzset.

Program date pokazuje aktualną datę i czas (pamiętaj, że program time nie pokazuje aktualnego czasu). Przykład:

$ date
  czw lis 16 10:54:18 CET 2000
$

Jak widać jest: czwartek, 16 listopada roku 2000, strefa czasu CET (CET, może np. oznaczać czas Europy środkowej). date może również pokazać czas uniwersalny:

$ date -u
  czw lis 16 09:55:52 UTC 2000
$

Za pomocą date można zmienić wewnętrzny zegar jądra:

# date 11162157
  czw lis 16 21:57:00 CET 2000
# date
  czw lis 16 21:57:02 CET 2000
#

Zajrzyj do strony podręcznika programu date; składnia wywołania jest nieco skomplikowana. Tylko root może ustawić czas; każdy użytkownik może ustawić strefę czasu, jednak zegar dla każdego z nich pozostaje taki sam.

date pokazuje tylko datę zegara systemowego. Poleceniem clock możesz zsynchronizować zegary sprzętowy i programowy. Jeżeli musisz ustawić oba zegary, najpierw ustaw systemowy, po czym zaktualizuj zegar sprzętowy (clock -w).

Opcja -u powiadamia clock, że zegar sprzętowy wskazuje czas uniwersalny. Musisz poprawnie używać opcję -u. W innym przypadku twój komputer nie będzie znał aktualnego czasu.

Zegary powinny być zmieniane ostrożnie. Wiele programów Unixa zależy od czasu (poprawności jego upływu), dla przykładu: demon cron. Jeżeli zmienisz zegar demon nie będzie wiedział czy uruchomił dane zadanie, czy też należy to zrobić. Na pewnym wczesnym Uniksie ktoś przestawił zegar 20 lat do przodu, cron chciał nadrobić zaległości uruchamiając wszystkie zaległe prace dla okresu 20 lat. Aktualne wersje crona obsługują taką sytuację poprawnie, jednak powinieneś być ostrożny. Duże skoki do przodu, lub do tyłu są niebezpieczniejsze od powolnego posuwania się w danym kierunku.