Ten samouczek skupia się na technikach ustawiania daty i czasu w Linuksie za pomocą timedatectl, NTP lub date.

jako administrator systemu możesz zostać poproszony o ustawienie daty systemowej na wielu serwerach.

mogą być źle skonfigurowane lub ich strefy czasowe mogą nie być poprawnie skonfigurowane.

w związku z tym niektóre programy mogą rejestrować nieprawidłowe daty, co na przykład uniemożliwia sprawdzenie niektórych dzienników serwera.,

w tym samouczku zobaczymy, jak poprawnie ustawić datę w Linuksie, aby pasowała do bieżącej geograficznej strefy czasowej.

najpierw przyjrzymy się poleceniu timedatectl z opcją systemd-timesync. Następnie zainstalujemy usługi chrony lub NTP, aby efektywnie zsynchronizować naszą datę systemu.

W końcu użyjemy polecenia „date”, aby statycznie ustawić datę systemową.

omówimy również różnice między tymi metodami i które z nich najlepiej wykorzystać.,

spis treści

wymagania wstępne

aby wykonać niektóre polecenia, musisz mieć uprawnienia sudo na swoim komputerze.

aby się upewnić, możesz uruchomić następujące polecenie

$ sudo -lUser user may run the following commands on localhost: (ALL) ALL

Jeśli nie masz uprawnień sudo na swoim koncie, postępuj zgodnie z tym samouczkiem, aby uzyskać sudo na systemach opartych na Debianie lub na systemach opartych na Red Hat (CentOS, RHEL)

Ustaw datę na Linuksie za pomocą timedatectl

niezależnie od tego, czy pracujesz na Debianie/Ubuntu, czy na RHEL/CentOS, sposób ustawiania daty jest taki sam.,

aby ustawić datę, musisz ustawić informacje o strefie czasowej i (opcjonalnie) aktywować protokół NTP w celu synchronizacji systemu z serwerami NTP. Jeśli nie używasz protokołu NTP (z ntpd lub chrony), Twój system będzie domyślnie używał usługi timesync.

Jeśli Strefa czasowa jest źle skonfigurowana, musisz zmodyfikować informacje o strefie czasowej.

aby sprawdzić aktualną strefę czasową w Linuksie, możesz uruchomić polecenie timedatectl.

powiedzmy, że chcesz go zmodyfikować.,

aby wyświetlić listę stref czasowych w Linuksie, użyj opcji „list-timezones” z timedatectl.

$ timedatectl list-timezones

jak widzisz, strefy czasowe są prezentowane przy użyciu następującej składni : kontynent/region.

aby ustawić strefę czasową na Nowy Jork, możesz łatwo wyszukać ją za pomocą grepa.

$ timedatectl list-timezones | grep YorkAmerica/New_York

aby ustawić strefę czasową, użyj polecenia „set-timezone”.

$ timedatectl set-timezone America/New_York

aby sprawdzić aktualną datę systemową, musisz ponownie uruchomić polecenie timedatectl.,

jednak aktualna data nie jest jeszcze zsynchronizowana, będziesz musiał aktywować usługę NTP, aby mogła się zsynchronizować.

domyślnie, jeśli pracujesz z dystrybucją z systemd, powinieneś mieć demona systemd-timesync domyślnie.

główną różnicą między systemd-timesync i NTP jest to, że Demon implementuje tylko po stronie klienta i nie używa złożonych mechanizmów, takich jak NTP.

aby włączyć synchronizację czasu, po prostu uruchom to polecenie.,

$ timedatectl set-ntp truesystemd-timesyncd.service active: true

Jeśli wolisz używać chrony lub NTP, następne sekcje opisują, jak możesz ustawić NTP i chrony, aby zsynchronizować datę systemową.

Ustaw datę w Linuksie za pomocą chrony (NTP)

najdokładniejszym sposobem ustawienia daty w Linuksie jest użycie protokołu ntp.

jako szybkie przypomnienie, protokół NTP jest używany w celu synchronizacji czasu między różnymi serwerami w sieci.

użyjesz serwerów czasu referencyjnego, które zostaną zsynchronizowane z twoim własnym serwerem przez obliczanie opóźnień w celu skontaktowania się z serwerami referencyjnymi.,

korzystając z protokołu NTP, będziesz mógł mieć bardzo dokładną datę na Linuksie.

aby ustawić datę, należy skorzystać z usługi chrony.

przede wszystkim upewnij się, że usługa timesyncd nie jest uruchomiona na Twoim hoście.

$ sudo systemctl stop systemd-timesyncd.service

następnie upewnij się, że twoje pakiety są aktualne na twoim serwerze.

$ sudo yum update

następnie zainstaluj pakiet chrony używając YUM.

$ sudo yum install chrony $ sudo apt-get install chrony 

w większości przypadków usługa chrony może być zainstalowana domyślnie w twojej dystrybucji.,

aby włączyć i uruchomić usługę chrony, należy uruchomić następujące polecenia.

$ sudo systemctl enable chronyd$ sudo systemctl start chronyd

Sprawdź status swojej usługi za pomocą polecenia status.

$ sudo systemctl status chronyd

teraz, gdy chrony jest zainstalowany w Twoim systemie, możesz zmienić datę systemu, dostosowując Strefa czasowa Twojego systemu.,

zauważ, że nie musisz ustawiać activate the NTP protocol for the timedatectl command as starting chrony will automatically desactivate the systemd-timesync daemon in to use NTP.

Jeśli chcesz się upewnić, nadal możesz uruchomić następujące polecenie.

$ timedatectl set-ntp true

Uruchom ponownie polecenie timedatectl, aby upewnić się, że wszystko jest zsynchronizowane.

Uwaga : zamiast „usługi NTP”, nadal możesz mieć „systemd-timesyncd.Etykieta service active ” ustawiona na tak., Nie oznacza to, że usługa jest aktywna, ale oznacza, że host używa chrony jako sposobu synchronizacji.

Możesz również uruchomić „date”, aby sprawdzić bieżącą datę systemową.

$ date Thu Oct 17 13:16:10 EDT 2019

Super!

pomyślnie Ustawiłeś swoją datę na Linuksie (CentOS/RHEL) za pomocą chrony.

Ustaw datę w systemie Linux za pomocą ntpd (NTP)

jak opisano wcześniej, przy użyciu protokołu NTP jest prawdopodobnie najbardziej dokładny sposób, aby ustawić datę na Ubuntu i Debiana.

przede wszystkim zamierzasz zainstalować usługę ntp na swoim hoście.,

aby zainstalować klienta NTP, po prostu uruchom następujące polecenie.

$ sudo apt-get install ntp $ sudo yum install ntp 

domyślnie uruchomienie tego polecenia spowoduje zainstalowanie i aktywację usługi NTP (Network Time Service) na Twoim hoście.

aby to zapewnić, uzyskaj status usługi NTP.

$ sudo systemctl status ntp

domyślnie uruchomienie lub ponowne uruchomienie usługi NTP nie aktywuje usługi NTP dla polecenie timedatectl.

aby aktywować synchronizację NTP, określ opcję „set-ntp”.,

$ timedatectl set-ntp true

ponownie uruchom proste polecenie timedatectl, aby upewnić się, że wszystko działa poprawnie.

Awesome!

poprawnie Ustawiłeś datę w Linuksie używając ntp.

Ustawianie daty w Linuksie za pomocą polecenia date

jednym ze sposobów ustawiania daty w Linuksie jest użycie polecenia date.

jedną z głównych wad tego podejścia jest fakt, że nigdy nie będziesz tak precyzyjny, jak ustawienie strefy czasowej i synchronizacja jej z timesyncd lub chronyd.

jednak nadal można to zrobić w ten sposób.,

przede wszystkim dezaktywna Synchronizacja czasu na Twoim hoście, w przeciwnym razie Ręczna zmiana daty zostanie usunięta za każdym razem przez usługę synchronizacji.

$ sudo timedatectl set-ntp false

aby ustawić datę, użyj „date” z opcją „-s”.

$ date -s <date>

na przykład, używając formatu RRRR-MM-dd, możesz ustawić datę w ten sposób.

$ date -s '2019-10-17 12:00:00'Thu Oct 17 12:00:03 EDT 2019$ date -s '23 October 2019 12:00:00'Wed Oct 23 12:00:00 EDT 2019

Możesz również użyć skrótów, aby łatwo ustawić datę.

Jeśli chcesz zmodyfikować tylko rok, możesz użyć skrótu „następny rok” lub „ostatni rok”.,

$ sudo date -s "next year"Sat Oct 17 12:02:21 EDT 2020$ sudo date -s "last year"Thu Oct 17 12:02:43 EDT 2018

Możesz również zmienić tylko miesiąc lub dzień za pomocą następujących skrótów.

Zsynchronizuj zegar sprzętowy z datą systemową

przed przejściem do codziennych zadań administracyjnych systemu, dobrym pomysłem może być zsynchronizowanie zegara sprzętowego z datą systemową.

w ten sposób upewniasz się, że Twoje dwa zegary nie wyświetlają różnych dat i godzin.

aby zsynchronizować zegar sprzętowy z datą systemową, użyj polecenia „hwclock” z opcją „–systohc”.

$ sudo hwclock --systohc$ sudo hwclock2019-10-23 13:03:56.466724-0400

świetnie!,

udało się zsynchronizować zegar sprzętowy z bieżącą datą systemową.

podsumowanie

w dzisiejszym tutorialu nauczyłeś się jak łatwo ustawić datę na dowolnym systemie Linux.

nauczyłeś się, że możesz ustawić strefę czasową i pozwolić demonowi systemd-timesyncd wykonać synchronizację czasu.

Jeśli szukasz bardziej precyzyjnych i wydajnych technik synchronizacji czasu, nauczyłeś się, że możesz użyć chrony lub NTP w celu osiągnięcia tego wyniku.

zauważyłeś również, że można statycznie ustawić datę za pomocą polecenia date.,

Jeśli interesuje Cię administracja systemem Linux, mamy mnóstwo poradników na ten temat.