Wyszukiwanie w witrynie

Jak ustawić czas, strefę czasową i zsynchronizować zegar systemowy za pomocą polecenia timedatectl


Polecenie timedatectl to nowe narzędzie dla dystrybucji opartych na RHEL/CentOS 7/8 i Fedora 30+, które stanowi część pakietu systemd menedżer systemu i usług, zamiennik starego, tradycyjnego polecenia date używanego w dystrybucjach Linuksa opartych na demonie sysvinit.

Polecenie timedatectl umożliwia sprawdzanie i zmianę konfiguracji zegara systemowego oraz jego ustawień. Można go użyć do ustawienia lub zmiany bieżącej daty, godziny i strefy czasowej lub włączenia automatycznej synchronizacji zegara systemowego z zdalny serwer NTP.

W tym samouczku przeprowadzę Cię przez sposoby zarządzania czasem w systemie Linux poprzez ustawienie daty, godziny, strefy czasowej i synchronizuj czas z NTP z terminala za pomocą nowego polecenia timedatectl.

Zawsze dobrą praktyką jest utrzymywanie prawidłowego czasu na serwerze lub systemie Linux i może to mieć następujące zalety:

  • utrzymuj terminowe wykonywanie zadań systemowych, ponieważ większość zadań w systemie Linux jest kontrolowana przez czas.
  • właściwy czas rejestrowania zdarzeń i innych informacji w systemie oraz wiele innych.

Jak znaleźć i ustawić lokalną strefę czasową w systemie Linux

1. Aby wyświetlić bieżącą godzinę i datę w systemie, użyj polecenia timedatectl z wiersza poleceń w następujący sposób:

timedatectl  status

Na powyższym zrzucie ekranu czas RTC to czas zegara sprzętowego.

2. Czas w systemie Linux jest zawsze zarządzany poprzez ustawioną strefę czasową w systemie. Aby wyświetlić bieżącą strefę czasową, wykonaj następujące czynności :

timedatectl 
OR
timedatectl | grep Time

3. Aby wyświetlić wszystkie dostępne strefy czasowe, uruchom poniższe polecenie:

timedatectl list-timezones

4. Aby znaleźć lokalną strefę czasową zgodnie z Twoją lokalizacją, uruchom następujące polecenie:

timedatectl list-timezones |  egrep  -o "Asia/B.*"
timedatectl list-timezones |  egrep  -o "Europe/L.*"
timedatectl list-timezones |  egrep  -o "America/N.*"

5. Aby ustawić lokalną strefę czasową w systemie Linux, użyjemy przełącznika set-timezone, jak pokazano poniżej.

timedatectl set-timezone "Asia/Kolkata"

Zawsze zaleca się używanie i ustawianie skoordynowanego czasu uniwersalnego, UTC.

timedatectl set-timezone UTC

Musisz wpisać poprawną nazwę strefy czasowej, w przeciwnym razie podczas zmiany strefy czasowej mogą pojawić się błędy. W poniższym przykładzie strefa czasowa „Asia/Kalkuta” jest niepoprawna, co powoduje błąd.

Jak ustawić godzinę i datę w systemie Linux

6. Datę i godzinę w systemie możesz ustawić za pomocą polecenia timedatectl w następujący sposób:

Ustaw czas w systemie Linux

Aby ustawić tylko czas, możemy użyć przełącznika ustaw czas wraz z formatem czasu w GG:MM:SS (godzina, minuta i sekunda).

timedatectl set-time 15:58:30

Podczas ustawiania daty, jak pokazano powyżej, może pojawić się poniższy błąd:


Failed to set time: NTP unit is active

7. Błąd informuje, że usługa NTP jest aktywna. Musisz go wyłączyć za pomocą poniższego polecenia.


systemctl disable --now chronyd

Ustaw datę i godzinę w systemie Linux

8. Aby ustawić datę i godzinę, możemy użyć przełącznika ustaw godzinę wraz z formatem daty w RR:MM:DD ( Rok, miesiąc, dzień) i czas w formacie GG:MM:SS (godzina, minuta i sekunda).


timedatectl set-time '2015-11-20 16:14:50'

Jak znaleźć i ustawić zegar sprzętowy w systemie Linux

9. Aby ustawić zegar sprzętowy na uniwersalny czas koordynowany, UTC, użyj opcji set-local-rtc-wartość-logiczna w następujący sposób:

Najpierw sprawdź, czy zegar sprzętowy jest ustawiony na lokalną strefę czasową:

timedatectl | grep local

Ustaw zegar sprzętowy na lokalną strefę czasową:

timedatectl set-local-rtc 1

Ustaw zegar sprzętowy na uniwersalny czas koordynowany (UTC):

timedatectl set-local-rtc 0

Synchronizowanie zegara systemowego Linux ze zdalnym serwerem NTP

NTP oznacza Network Time Protocol to protokół internetowy używany do synchronizacji zegara systemowego pomiędzy komputerami. Narzędzie timedatectl umożliwia automatyczną synchronizację zegara systemowego Linux ze zdalną grupą serwerów przy użyciu protokołu NTP.

Pamiętaj, że musisz mieć zainstalowany w systemie NTP, aby umożliwić automatyczną synchronizację czasu z serwerami NTP.

Aby rozpocząć automatyczną synchronizację czasu ze zdalnym serwerem NTP, wpisz na terminalu następujące polecenie.

timedatectl set-ntp true

Aby wyłączyć synchronizację czasu NTP, wpisz następujące polecenie na terminalu.

timedatectl set-ntp false

Streszczenie

Są to bardzo proste przykłady opisane w tym samouczku i mam nadzieję, że okażą się pomocne przy ustawianiu różnych zegarów i stref czasowych systemu Linux. Aby dowiedzieć się więcej o tym narzędziu, przejdź do strony podręcznika timedatectl.

Jeśli masz coś do powiedzenia na temat tego artykułu, zostaw komentarz, aby dodać więcej informacji. Pozostań w kontakcie z Tecmint.