W tym artykule powiem ci, jak ustawić godzinę, datę i zmienić strefę czasową w Linux CentOS, jak zsynchronizować czas z serwerem NTP i naprawić typowe błędy.
Treść
- Hwclock: ustawianie czasu sprzętowego (systemowego)
- Ręczne ustawianie czasu w CentOS
- Konfiguracja strefy czasowej w CentOS
- Skonfiguruj synchronizację czasu NTP w CentOS
- Używamy chronyd do synchronizacji czasu w CentOS 8
- Typowe błędy podczas ustawiania czasu w CentOS
Istnieją dwa rodzaje zegarów na serwerach. Sprzęt (zegar czasu rzeczywistego), który działa nawet wtedy, gdy serwer jest wyłączony, a zegar oprogramowania systemu operacyjnego. Odczyty tych dwóch godzin mogą się różnić. W takim przypadku po uruchomieniu systemu operacyjnego zegar oprogramowania jest oparty na odczytach sprzętu i może być regulowany przez system.
Zdecydowana większość programów wykorzystuje godziny oprogramowania w swojej pracy..
Hwclock: ustawianie czasu sprzętowego (systemowego)
Narzędzie używane do sprawdzania czasu sprzętowego w systemie Linux hwclock:
hwclock --localtime
- kontrola czasu sprzętu bez korektyhwclock --utc
- sprawdzanie czasu pod warunkiem, że zegar sprzętowy jest w UTC
[root @ server itp.] # hwclock --localtime
Śr. 27 lis 2019 11:28:28 +06 -1.012225 sekund
[root @ serwer itp.] # hwclock --utc
Śr. 27 lis 2019 17:28:30 +06 -0.045476 sekund
Aby ustawić czas sprzętowy równy czasowi systemowemu, uruchom polecenie:
# hwclock --systohc
Aby ustawić określony czas, wykonaj:
# hwclock --set --date "27 listopada 2019 17:30"
Ręczne ustawianie czasu w CentOS
W systemie Linux narzędzie odpowiada za czas programu data lub timedatectl. Jeśli zadzwonisz do narzędzia data bez parametrów pokaże aktualny czas na serwerze:
[root @ server itp.] # data
Śr. 27 lis 17:40:56 +06 2019
Jeśli chcesz ustawić czas ręcznie, możesz użyć narzędzia data z dodatkowymi kluczami:
# data MMDDggmm
Gdzie MM to miesiąc, DD to dzień, hh to godzina, mm to minuty.
Na przykład:
# data 11261740
Aby uzyskać zaawansowane informacje o dacie, godzinie, strefie, synchronizacji, ustawieniach przełączania na czas sezonowy (lato / zima) (DST), narzędzie służy timedatectl. Zawiera bardziej szczegółowe informacje na temat ustawień czasu serwera..
Timedatectl pozwala również zmienić czas:
# timedatectl set-time '2019-11-27 17:51:00'
Konfiguracja strefy czasowej w CentOS
Aby czas serwera CentOS Linux był zgodny ze strefą czasową, możesz go zmienić ręcznie. Są do tego dwa narzędzia:
- timedatectl
- tzdata
Aby zmienić strefę czasową za pomocą narzędzia timedatectl, uruchom polecenie:
# timedatectl set-timezone Europa / Moskwa
Lub możesz użyć tzdata. Aby skorzystać z tej metody, musisz zastąpić plik / etc / czas lokalny do tego, czego potrzebujesz. Cała lista stref czasowych znajduje się w katalogu / usr / share / zoneinfo /. Zmień strefę czasową na Asia / Almaty. Utwórz kopię zapasową pliku lokalizacji:
# mv / etc / localtime /etc/localtime.bak
Utwórz dowiązanie symboliczne do żądanej strefy czasowej:
# ln -s / usr / share / zoneinfo / Asia / Almaty / etc / localtime
Skonfiguruj synchronizację czasu NTP w CentOS
Możesz skonfigurować automatyczną synchronizację czasu na swoim serwerze z zewnętrznym serwerem NTP (Network Time Protocol). Aby to zrobić, zainstaluj usługę ntp. Na przykład w CentOS 7 instalacja odbywa się poprzez yum:
# yum zainstaluj ntp -y
Po instalacji musisz uruchomić usługę NTTP i dodać ją do uruchamiania:
# systemctl start ntpd.service
# systemctl enable ntpd.service
Sprawdź, czy usługa jest uruchomiona:
[root @ server Asia] # service ntpd status
Przekierowanie do statusu / bin / systemctl 28.11.2019 09:47:33 +06; 5 minut temu Główny PID: 3057 (ntpd) Grupa C: /system.slice/ntpd.service └─3057 / usr / sbin / ntpd -u ntp: ntp -g
W pliku /etc/ntp.conf musisz określić serwer, z którym chcesz synchronizować czas:
serwer 0.pool.ntp.org serwer 1.pool.ntp.org serwer 2.pool.ntp.org
Synchronizacja czasu odbywa się sekwencyjnie. Jeśli pierwszy serwer NTP jest niedostępny, dostęp do drugiego itd..
Możesz ręcznie zsynchronizować czas z określonym serwerem NTP za pomocą polecenia:
# ntpdate 192.168.1.100
Domyślnie, ntpd włącza w systemie tryb „11 minut”, co oznacza, że czas będzie synchronizowany co 11 minut. Jeśli nie możesz użyć demona ntpd, możesz skonfigurować synchronizację czasu za pomocą krone, dodaj następujące polecenie do krona:
# ntpdate pool.ntp.org
Używamy chronyd do synchronizacji czasu w CentOS 8
Dla CentOS 8 usunięty z oficjalnych repozytoriów ntp i ntpdate, dlatego, aby zsynchronizować czas, musisz użyć chroniczny.
Główne zalety Chrony:
- duża prędkość i dokładność synchronizacji
- poprawne działanie przy braku dostępu do zegara referencyjnego (ntpd wymaga regularnych żądań)
- domyślnie nie zmienia natychmiast czasu podczas synchronizacji, aby nie zakłócać działania programów
- Zużywa mniej zasobów
Domyślne narzędzie chroniczny jest już zainstalowany w systemie, ale jeśli z jakiegoś powodu go nie masz, zainstaluj:
# dnf zainstaluj chrony
Jak każda inna usługa, po zainstalowaniu chrony musisz włączyć i dodać ją do uruchamiania:
# systemctl start chronyd
# systemctl enable chronyd
Sprawdź status usługi:
Aby sprawdzić, czy synchronizacja działa, uruchom polecenie:
# status timedatectl
Usługa NTP: aktywna
Plik konfiguracyjny chroniczny - /etc/chrony.conf. W nim musisz określić listę serwerów NTP, których chcesz użyć do synchronizacji. Jak ty ntp, o godz chroniczny istnieje interfejs wiersza poleceń chronyc. Aby sprawdzić informacje o bieżących ustawieniach synchronizacji czasu, użyj:
# śledzenie chronyc
Aby sprawdzić informacje o serwerach synchronizacji, uruchom polecenie:
# źródła chronyc
Jeśli chcesz ręcznie ustawić konkretną godzinę i datę, możesz użyć narzędzia data, ale wcześniej musisz wyłączyć demona chronyd.
Typowe błędy podczas ustawiania czasu w CentOS
W tej sekcji opiszę typowe błędy występujące podczas pracy z narzędziami timedatectl, ntp.
Podczas ręcznej synchronizacji czasu może wystąpić podobny błąd:
ntpdate [26214]: gniazdo NTP jest używane, wychodzi
Oznacza to, że masz uruchomionego demona. ntpd, który blokuje ręczną synchronizację czasu. Aby wykonać ręczną synchronizację, zatrzymaj demona ntpd:
# service ntpd stop
I ponownie uruchom synchronizację:
Podobny błąd może wystąpić podczas pracy z narzędziem timedatectl:
Nie udało się ustawić czasu: Automatyczna synchronizacja czasu jest włączona.
Teraz musisz wyłączyć automatyczną synchronizację w samym narzędziu timedatectl:
# timedatectl set-ntp 0
I wykonaj polecenie, aby ustawić określony czas:
Podczas pracy ze strefami czasowymi mogą nie zostać zainstalowane na serwerze i utworzyć dowiązania symbolicznego czas lokalny zawiedzie. Aby strefy były dostępne w systemie, zainstaluj narzędzie tzdata:
# yum zainstaluj tzdata -y
Dlatego przy ręcznej synchronizacji często występują błędy formularza:
28 listopada 10:12:39 ntpdate [897482]: sendto (185.217.191.98): Operacja niedozwolona
W takim przypadku sprawdź reguły zapory ogniowej / iptables i upewnij się, że port UDP 123 jest otwarty na twoim serwerze. Ponadto niektóre hosty synchronizacji mogą nie być dostępne w momencie weryfikacji.