Vyhledávání na webu

Jak nastavit čas, časové pásmo a synchronizovat systémové hodiny pomocí příkazu timedatectl


Příkaz timedatectl je nový nástroj pro distribuce založené na RHEL/CentOS 7/8 a Fedora 30+, který je součástí systemd správce systému a služeb, náhrada za starý tradiční příkaz date používaný v linuxových distribucích založených na démonech sysvinit.

Příkaz timedatectl umožňuje dotazovat se a měnit konfiguraci systémových hodin a jejich nastavení, pomocí tohoto příkazu můžete nastavit nebo změnit aktuální datum, čas a časové pásmo nebo povolit automatickou synchronizaci systémových hodin s vzdálený NTP server.

V tomto tutoriálu vás provedu způsoby, jak můžete na svém systému Linux spravovat čas nastavením data, času, časového pásma a synchronizujte čas s NTP z terminálu pomocí nového příkazu timedatectl.

Vždy je dobré udržovat správný čas na vašem linuxovém serveru nebo systému a může to mít následující výhody:

  • udržovat včasný chod systémových úloh, protože většina úloh v Linuxu je řízena časem.
  • správný čas pro protokolování událostí a dalších informací v systému a mnoho dalších.

Jak najít a nastavit místní časové pásmo v Linuxu

1. Chcete-li v systému zobrazit aktuální čas a datum, použijte příkaz timedatectl z příkazového řádku následovně:

timedatectl  status

Na obrazovce výše je čas RTC čas hardwarových hodin.

2. Čas ve vašem systému Linux je vždy spravován prostřednictvím nastaveného časového pásma v systému. Chcete-li zobrazit aktuální časové pásmo, postupujte následovně :

timedatectl 
OR
timedatectl | grep Time

3. Chcete-li zobrazit všechna dostupná časová pásma, spusťte níže uvedený příkaz:

timedatectl list-timezones

4. Chcete-li najít místní časové pásmo podle své polohy, spusťte následující příkaz:

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

5. K nastavení místního časového pásma v systému Linux použijeme přepínač set-timezone, jak je znázorněno níže.

timedatectl set-timezone "Asia/Kolkata"

Vždy se doporučuje používat a nastavovat koordinovaný světový čas, UTC.

timedatectl set-timezone UTC

Musíte zadat správný název časové pásmo, jinak se při změně časového pásma mohou objevit chyby. V následujícím příkladu není časové pásmo „Asie/Kolkata“ správné, což způsobuje chybu.

Jak nastavit čas a datum v Linuxu

6. Datum a čas v systému můžete nastavit pomocí příkazu timedatectl takto:

Nastavit čas v Linuxu

Chcete-li nastavit pouze čas, můžeme použít přepínač set-time spolu s formátem času v HH:MM:SS (hodiny, minuty a sekundy).

timedatectl set-time 15:58:30

Při nastavování data, jak je uvedeno výše, se může zobrazit níže uvedená chyba:


Failed to set time: NTP unit is active

7. Chyba říká, že služba NTP je aktivní. Musíte jej deaktivovat pomocí níže uvedeného příkazu.


systemctl disable --now chronyd

Nastavte datum a čas v Linuxu

8. K nastavení data a času můžeme použít přepínač set-time spolu s formátem data v RR:MM:DD ( rok, měsíc, den) a čas v HH:MM:SS (hodiny, minuty a sekundy).


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

Jak najít a nastavit hardwarové hodiny v Linuxu

9. Chcete-li nastavit hardwarové hodiny na koordinovaný světový čas, UTC, použijte možnost set-local-rtc boolean-value následovně:

Nejprve zjistěte, zda jsou vaše hardwarové hodiny nastaveny na místní časové pásmo:

timedatectl | grep local

Nastavte hardwarové hodiny na místní časové pásmo:

timedatectl set-local-rtc 1

Nastavte hardwarové hodiny na koordinovaný univerzální čas (UTC):

timedatectl set-local-rtc 0

Synchronizace systémových hodin systému Linux se vzdáleným serverem NTP

NTP znamená Network Time Protocol je internetový protokol, který se používá k synchronizaci systémových hodin mezi počítači. Nástroj timedatectl vám umožňuje automaticky synchronizovat systémové hodiny Linuxu se vzdálenou skupinou serverů pomocí NTP.

Upozorňujeme, že pro aktivaci automatické synchronizace času se servery NTP musíte mít v systému nainstalované NTP.

Chcete-li spustit automatickou synchronizaci času se vzdáleným serverem NTP, zadejte na terminálu následující příkaz.

timedatectl set-ntp true

Chcete-li zakázat synchronizaci času NTP, zadejte na terminálu následující příkaz.

timedatectl set-ntp false

souhrn

Toto jsou velmi jednoduché příklady popsané v tomto tutoriálu a doufám, že vám budou užitečné pro nastavení různých systémových hodin a časových pásem Linuxu. Chcete-li se o tomto nástroji dozvědět více, přejděte na manuálovou stránku timedatectl.

Máte-li co říci k tomuto článku, neváhejte zanechat komentář, abyste mohli přidat další informace. Zůstaňte ve spojení se společností Tecmint.