Cum să setezi ora, fusul orar și să sincronizezi ceasul în Linux


În acest articol, aflați cum să setați ora, fusul orar și să sincronizați ceasul sistemului Linux cu NTP folosind timedatectl, systemd-timesyncd și chrony.

Comanda ‘timedatectl‘ este un utilitar pentru distribuțiile bazate pe RHEL și Debian și face parte din managerul de sistem și servicii ‘systemd‘, servind ca înlocuitor pentru vechea comandă tradițională date utilizată în distribuțiile Linux bazate pe daemon-ul ‘sysvinit‘.

Comanda timedatectl îți permite să interoghezi și să modifici configurația ceasului sistemului și setările sale, poți folosi această comandă pentru a seta sau a schimba data, ora și fusul orar curent, sau pentru a activa sincronizarea automată a ceasului sistemului cu un server NTP de la distanță.

În acest tutorial, vă voi arăta modalitățile prin care puteți gestiona timpul pe sistemul dumneavoastră Linux prin setarea datei, orei, zonei orare și sincronizarea timpului cu NTP din terminal folosind timedatectl, systemd-timesyncd și chrony.

Este întotdeauna o bună practică să mențineți ora corectă pe serverul sau sistemul dumneavoastră Linux, iar acest lucru poate avea următoarele avantaje:

  • Menține funcționarea la timp a sarcinilor de sistem, deoarece majoritatea sarcinilor din Linux sunt controlate de timp.
  • Timp precis pentru înregistrarea evenimentelor și a altor informații în sistem.
  • Sincronizare corespunzătoare pentru sisteme și aplicații distribuite.
  • Esential pentru protocoale de securitate precum Kerberos și validarea certificatelor SSL/TLS.

Cum să găsești și să setezi fusul orar local în Linux

1. Pentru a afișa ora și data curentă pe sistemul dumneavoastră, folosiți comanda timedatectl din linia de comandă după cum urmează:

timedatectl  status

Verifică data și ora sistemului Linux

În ieșirea de mai sus, timpul RTC este timpul ceasului hardware.

2. Ora de pe sistemul tău Linux este întotdeauna gestionată prin fusul orar setat pe sistem; pentru a vizualiza fusul tău orar curent, procedați astfel:

timedatectl 
OR
timedatectl | grep Time

Verifică fusul orar al sistemului Linux

3. Pentru a vizualiza toate fusurile orare disponibile, executați comanda de mai jos:

timedatectl list-timezones

Listează toate fusurile orare pe un sistem Linux

4. Pentru a afla fusul orar local în funcție de locația ta, rulează următoarea comandă.

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

Găsește fusul tău orar local în Linux

5. Pentru a seta fusul orar local în Linux, vom folosi comutatorul set-timezone așa cum este prezentat mai jos.

sudo timedatectl set-timezone "Asia/Kolkata"
timedatectl status

Setați fusul orar local pe un sistem Linux

Este întotdeauna recomandat să folosiți și să setați timpul universal coordonat, UTC.

sudo timedatectl set-timezone UTC
timedatectl status

Setarea orei sistemului la UTC

Trebuie să introduceți numele corect al fusului orar, altfel puteți întâmpina erori la schimbarea fusului orar. În exemplul următor, fusul orar „Asia/Kolkata” nu este corect, ceea ce cauzează eroarea.

failed to set time zone: invalid timezone

Cum să setați ora și data în Linux

Poți seta data și ora pe sistemul tău folosind comanda timedatectl astfel:

Setează ora în Linux

6. Pentru a seta doar ora, putem folosi un comutator set-time împreună cu formatul orei în HH:MM:SS (Oră, Minut și Secunde).

sudo timedatectl set-time 12:25:30
timedatectl status

Este posibil să primiți următoarea eroare atunci când setați data așa cum este prezentat mai sus:

Failed to set time: Automatic time synchronization is enabled

Eroarea apare deoarece sincronizarea automată a timpului (NTP) este activată, ceea ce împiedică modificările manuale ale timpului.

Pentru a remedia problema, mai întâi dezactivați NTP, apoi setați ora.

sudo timedatectl set-ntp false
sudo timedatectl set-time 12:25:30
timedatectl status

Setați data și ora locală în Linux

7. Pentru a seta atât data cât și ora, folosește comutatorul set-time împreună cu formatul datei în YYYY-MM-DD (An, Lună, Zi) și ora în HH:MM:SS (Oră, Minut și Secunde):

sudo timedatectl set-time '2026-01-23 12:25:30'

Configurarea datei și orei în format YY:MM:DD și HH:MM:SS

Cum să găsești și să setezi ceasul hardware în Linux

8. Pentru a seta ceasul hardware la timpul universal coordonat, UTC, folosiți opțiunea set-local-rtc boolean-value astfel:

Mai întâi aflați dacă ceasul hardware este setat pe fusul orar local:

timedatectl | grep local

Setați ceasul hardware pe fusul orar local:

sudo timedatectl set-local-rtc 1

Setează ceasul hardware pe UTC în Linux

Setați ceasul hardware pe timpul universal coordonat (UTC):

sudo timedatectl set-local-rtc 0

Setează ceasul hardware pe UTC

Notă: Setarea RTC pe timpul local nu este recomandată și poate cauza probleme la ajustările pentru ora de vară, așadar este mai bine să păstrați RTC pe UTC.

Sincronizarea ceasului sistemului Linux cu un server NTP la distanță

NTP reprezintă Network Time Protocol și este un protocol de internet, folosit pentru a sincroniza ceasul sistemului între calculatoare.

Utilitarul timedatectl îți permite să sincronizezi automat ceasul sistemului Linux cu un grup de servere la distanță folosind NTP.

Cele mai moderne distribuții Linux folosesc implementări diferite pentru sincronizarea NTP:

  • systemd-timesyncd: Un client ușor de SNTP (Simple NTP) încorporat în systemd, care este potrivit pentru majoritatea configurațiilor de desktop și server unic.
  • chrony: O implementare completă NTP care poate funcționa atât ca client, cât și ca server. Gestionează mai bine conexiunile de rețea intermitente și este mai precis.

Folosirea systemd-timesyncd

Pentru a începe sincronizarea automată a timpului cu un server NTP la distanță, introduceți următoarea comandă în terminal, care va activa și porni serviciul systemd-timesyncd.

sudo timedatectl set-ntp true

Pentru a dezactiva sincronizarea timpului NTP, tastați următoarea comandă în terminal.

sudo timedatectl set-ntp false

Pentru a verifica starea sincronizării:

timedatectl status

Ar trebui să vezi „Ceasul sistemului sincronizat: da” și „Serviciu NTP: activ”.

Folosind chrony (Recomandat pentru servere)

Dacă rulezi un server sau ai nevoie de o sincronizare a timpului mai fiabilă, chrony este alegerea mai bună și este deosebit de potrivit pentru:

  • Sisteme care nu funcționează continuu (laptopuri, calculatoare desktop).
  • Serverele necesită o acuratețe ridicată.
  • Sisteme cu conectivitate de rețea intermitentă.
  • Mediile clusterizate în care consistența temporală este critică.

Mai întâi, instalați chrony (dacă nu este deja instalat):

sudo apt install chrony   [On Debian-based systems]
sudo dnf install chrony   [On RHEL-based systems]

Notă: Instalarea chrony va dezactiva automat systemd-timesyncd pentru a preveni conflictele.

După instalare, activați, porniți și verificați starea sincronizării:

sudo systemctl enable --now chronyd
timedatectl status

Verifică starea sincronizării ceasului sistemului

Pentru a utiliza propriile servere NTP în locul celor implicite, trebuie să editați fișierul de configurare Chrony.

sudo nano /etc/chrony/chrony.conf
OR
sudo nano /etc/chrony/sources.d/custom.sources

Adaugă serverele NTP preferate (poți obține o listă de servere NTP de la NTP Pool Project).

pool 0.pool.ntp.org iburst
pool 1.pool.ntp.org iburst
pool 2.pool.ntp.org iburst

Reporniți chrony după modificări:

sudo systemctl restart chronyd

Note importante despre sincronizarea NTP

  • Nu puteți rula mai multe implementări NTP simultan, așa că alegeți fie systemd-timesyncd, fie chrony.
  • systemd-timesyncd este o implementare doar pentru client și nu poate furniza timp altor sisteme.
  • chrony poate funcționa atât ca client de timp, cât și ca server de timp pentru rețeaua dvs. locală.
  • Pentru serverele de producție și infrastructura critică, chrony este, în general, recomandat în locul systemd-timesyncd.
  • NTP necesită ca portul UDP 123 să fie deschis pentru conexiuni outbound.
Rezumat

Acestea sunt exemple foarte ușoare descrise în acest tutorial și sper că le veți găsi utile pentru setarea diferitelor ceasuri și fusuri orare ale sistemului Linux.

Pentru a afla mai multe despre acest instrument, accesează pagina de manual timedatectl.

man timedatectl

Dacă aveți ceva de spus despre acest articol, nu ezitați să lăsați un comentariu pentru orice informații suplimentare de adăugat.