GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nastavit synchronizaci času na Ubuntu

Možná jste nastavili úlohy cron který běží v určitou dobu za účelem zálohování důležitých souborů nebo provádění jakýchkoli úloh souvisejících se systémem. Nebo jste možná nakonfigurovali server protokolů k rotaci protokolů ze systému v pravidelných intervalech. Pokud jsou vaše hodiny nesynchronizované, tyto úlohy se neprovedou ve správný čas. To je důvod, proč je důležité nastavit správné časové pásmo na systémech Linux a udržovat hodiny synchronizované s internetem. Tato příručka popisuje, jak nastavit synchronizaci času na Ubuntu Linux. Níže uvedené kroky byly testovány na Ubuntu 18.04, ale jsou stejné pro ostatní systémy založené na Ubuntu, které používají systemd timesyncd službu.

Nastavit synchronizaci času na Ubuntu

Obvykle nastavujeme časové pásmo během instalace. Pokud chcete, můžete jej změnit nebo nastavit jiné časové pásmo.

Nejprve se podívejme na aktuální časové pásmo v našem systému Ubuntu pomocí příkazu "date":

$ date

Ukázkový výstup:

Tue Jul 30 11:47:39 UTC 2019

Jak vidíte na výše uvedeném výstupu, příkaz "date" zobrazuje aktuální datum a také aktuální čas. Zde je moje aktuální časové pásmo UTC což je zkratka pro Coordinated Universal Time .

Případně můžete vyhledat /etc/timezone soubor najít aktuální časové pásmo.

$ cat /etc/timezone
UTC

Nyní se podívejme, zda jsou hodiny synchronizovány s internetem. Chcete-li to provést, jednoduše spusťte:

$ timedatectl

Ukázkový výstup:

Local time: Tue 2019-07-30 11:53:58 UTC
Universal time: Tue 2019-07-30 11:53:58 UTC
RTC time: Tue 2019-07-30 11:53:59
Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: yes
systemd-timesyncd.service active: yes
RTC in local TZ: no

Jak vidíte, příkaz "timedatectl" zobrazuje místní čas, univerzální čas, časové pásmo a zda jsou systémové hodiny synchronizovány s internetovými servery a zda systemd-timesyncd.service je aktivní nebo neaktivní. V mém případě se systémové hodiny synchronizují s internetovými časovými servery.

Pokud jsou hodiny nesynchronizované, zobrazí se „Systémové hodiny synchronizovány:ne“ jak je znázorněno na níže uvedeném snímku obrazovky.

Synchronizace času je zakázána.

Poznámka: Výše uvedený snímek obrazovky je starý. Proto vidíte jiné datum.

Pokud vidíte „Systémové hodiny synchronizovány: hodnota nastavena jako ne , může být služba timesyncd neaktivní. Takže jednoduše restartujte službu a zjistěte, zda to pomůže.

$ sudo systemctl restart systemd-timesyncd.service

Nyní zkontrolujte stav služby timesyncd:

$ sudo systemctl status systemd-timesyncd.service
● systemd-timesyncd.service - Network Time Synchronization
Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2019-07-30 10:50:18 UTC; 1h 11min ago
Docs: man:systemd-timesyncd.service(8)
Main PID: 498 (systemd-timesyn)
Status: "Synchronized to time server [2001:67c:1560:8003::c7]:123 (ntp.ubuntu.com)."
Tasks: 2 (limit: 2319)
CGroup: /system.slice/systemd-timesyncd.service
└─498 /lib/systemd/systemd-timesyncd

Jul 30 10:50:30 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab
Jul 30 10:50:31 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab
Jul 30 10:50:31 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab
Jul 30 10:50:32 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab
Jul 30 10:50:32 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab
Jul 30 10:50:35 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab
Jul 30 10:50:35 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab
Jul 30 10:50:35 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab
Jul 30 10:50:35 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab
Jul 30 10:51:06 ubuntuserver systemd-timesyncd[498]: Synchronized to time server [2001:67c:1560:800

Pokud je tato služba povolena a aktivní, měly by se vaše systémové hodiny synchronizovat s internetovými časovými servery.

Zda je synchronizace času povolena nebo ne, můžete ověřit pomocí příkazu:

$ timedatectl

Pokud to stále nefunguje, spusťte následující příkaz a povolte synchronizaci času:

$ sudo timedatectl set-ntp true

Nyní se vaše systémové hodiny synchronizují s internetovými časovými servery.

Změňte časové pásmo pomocí příkazu Timedatectl

Co když chci použít jiné časové pásmo než UTC? Je to snadné!

Nejprve seznam dostupných časových pásem pomocí příkazu:

$ timedatectl list-timezones

Uvidíte výstup podobný níže uvedenému obrázku.

Vypište časová pásma pomocí příkazu timedatectl

Požadované časové pásmo (např. Asie/Kolkata) můžete nastavit pomocí příkazu:

$ sudo timedatectl set-timezone Asia/Kolkata

Znovu zkontrolujte, zda bylo časové pásmo skutečně změněno pomocí příkazu "date":

$ date
Tue Jul 30 17:52:33 IST 2019

Nebo použijte příkaz timedatectl, pokud chcete podrobný výstup:

$ timedatectl 
Local time: Tue 2019-07-30 17:52:35 IST
Universal time: Tue 2019-07-30 12:22:35 UTC
RTC time: Tue 2019-07-30 12:22:36
Time zone: Asia/Kolkata (IST, +0530)
System clock synchronized: yes
systemd-timesyncd.service active: yes
RTC in local TZ: no

Jak jste si všimli, změnil jsem časové pásmo z UTC na IST (indický standardní čas).

Chcete-li přepnout zpět na časové pásmo UTC, jednoduše spusťte:

$ sudo timedatectl set-timezone UTC

Změna časového pásma pomocí Tzdata

Ve starších verzích Ubuntu není příkaz Timedatectl dostupný. V takových případech můžete použít Tzdata (Data časového pásma) pro nastavení synchronizace času.

$ sudo dpkg-reconfigure tzdata

Vyberte geografickou oblast, ve které žijete. V mém případě jsem zvolil Asii . Vyberte OK a stiskněte klávesu ENTER.

nakonfigurujte časové pásmo pomocí příkazu tzdata

Dále vyberte město nebo region odpovídající vašemu časovému pásmu. Zde jsem zvolil Kolkatu .

nakonfigurovat časové pásmo pomocí tzdata

Nakonec uvidíte výstup podobný níže v Terminálu.

Current default time zone: 'Asia/Kolkata'
Local time is now: Tue Jul 30 19:29:25 IST 2019.
Universal Time is now: Tue Jul 30 13:59:25 UTC 2019.

Konfigurace časového pásma v grafickém režimu

Některým uživatelům nemusí způsob CLI vyhovovat. Pokud jste jedním z nich, můžete to vše snadno změnit na panelu nastavení systému v grafickém režimu.

Stiskněte klávesu Super (klávesa Windows), zadejte nastavení v pomlčce Ubuntu a klikněte na Nastavení ikonu.

Spusťte nastavení systému z Ubuntu dash

Případně klikněte na šipku dolů v pravém horním rohu plochy Ubuntu a klikněte na ikonu Nastavení v levém rohu.

Spusťte nastavení systému z horního panelu

V dalším okně zvolte Podrobnosti a poté klikněte na Datum a čas volba. Zapněte Automatické datum a čas a Automatické časové pásmo možnosti.

Nastavte automatické časové pásmo v Ubuntu

Zavřete okno Nastavení a máte hotovo! Vaše systémové hodiny by se nyní měly synchronizovat s internetovými časovými servery.


Ubuntu
  1. Ubuntu – Jak nastavit statickou IP v Ubuntu?

  2. Jak nastavit vlastní čas uzamčení obrazovky v Ubuntu 18.04?

  3. Jak nastavit službu?

  1. Jak nastavit nebo změnit časové pásmo/datum/čas na Ubuntu 18.04

  2. Jak nainstalovat Redis na Ubuntu 20.04 / 18.04

  3. Jak spustit službu při spouštění na Ubuntu 22.04

  1. Jak nainstalovat Nginx na Ubuntu 18.04

  2. Jak nastavit server OpenVPN na Ubuntu 18.04

  3. Jak nastavit nebo změnit časové pásmo na Ubuntu 18.04