Zoeken op website

Hoe tijd, tijdzone en klok synchroniseren in Linux


Leer in dit artikel hoe je de tijd, tijdzone instelt en de klok van je Linux-systeem synchroniseert met NTP met behulp van timedatectl, systemd-timesyncd en chrony. :

Het commando ‘timedatectl‘ is een hulpmiddel voor RHEL-gebaseerde en Debian-gebaseerde distributies, en maakt deel uit van de ‘systemd‘ systeem- en servicemanager, en dient als vervanging voor het oude traditionele date-commando dat werd gebruikt in ‘sysvinit‘ daemon-gebaseerde Linux-distributies.

Het timedatectl-commando stelt je in staat om de configuratie van de systeemklok en de instellingen ervan te raadplegen en te wijzigen. Je kunt dit commando gebruiken om de huidige datum, tijd en tijdzone in te stellen of te wijzigen, of om automatische synchronisatie van de systeemklok met een externe NTP-server in te schakelen.

In deze handleiding ga ik je laten zien hoe je de tijd op je Linux-systeem kunt beheren door de datum, tijd, tijdzone in te stellen en de tijd te synchroniseren met NTP vanuit de terminal met behulp van timedatectl, systemd-timesyncd en chrony.

Het is altijd een goede gewoonte om de juiste tijd op uw Linux-server of systeem te behouden, en dit kan de volgende voordelen hebben:

  • Zorg voor de tijdige uitvoering van systeemtaken, aangezien de meeste taken in Linux door tijd worden gecontroleerd.
  • Nauwkeurige tijd voor het registreren van gebeurtenissen en andere informatie op het systeem.
  • Juiste synchronisatie voor gedistribueerde systemen en toepassingen.
  • Essentieel voor beveiligingsprotocollen zoals Kerberos en SSL/TLS-certificaatvalidatie.

Hoe de lokale tijdzone in Linux te vinden en in te stellen

1. Om de huidige tijd en datum op uw systeem weer te geven, gebruikt u de timedatectl-opdracht vanaf de opdrachtregel als volgt:

timedatectl  status

Controleer de systeemtijd en datum van Linux

In de bovenstaande uitvoer is RTC-tijd de tijd van de hardwareklok.

2. De tijd op uw Linux-systeem wordt altijd beheerd via de tijdzone die op het systeem is ingesteld. Om uw huidige tijdzone te bekijken, doet u het als volgt:

timedatectl 
OR
timedatectl | grep Time

Controleer de tijdzone van uw Linux-systeem

3. Om alle beschikbare tijdzones te bekijken, voer het onderstaande commando uit:

timedatectl list-timezones

Alle tijdzones op een Linux-systeem weergeven

4. Om de lokale tijdzone te vinden op basis van uw locatie, voert u het volgende commando uit.

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

Vind je lokale tijdzone in Linux

5. Om uw lokale tijdzone in Linux in te stellen, gebruiken we de set-timezone-schakelaar zoals hieronder weergegeven.

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

Stel de lokale tijdzone in op een Linux-systeem

Het wordt altijd aanbevolen om de gecoördineerde universele tijd, UTC, te gebruiken en in te stellen.

sudo timedatectl set-timezone UTC
timedatectl status

Je systeemtijd instellen op UTC

Je moet de juiste naam van de tijdzone typen, anders kun je fouten krijgen bij het wijzigen van de tijdzone. In het volgende voorbeeld is de tijdzone Asia/Kolkata niet correct, wat de fout veroorzaakt.

failed to set time zone: invalid timezone

Hoe u tijd en datum instelt in Linux

Je kunt de datum en tijd op je systeem instellen met het commando timedatectl als volgt:

Tijd instellen in Linux

6. Om alleen de tijd in te stellen, kunnen we een set-time schakelaar gebruiken in combinatie met het tijdformaat HH:MM:SS (Uur, Minuut en Seconde).

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

U kunt de volgende foutmelding krijgen wanneer u de datum zoals hierboven aangegeven instelt:

Failed to set time: Automatic time synchronization is enabled

De fout treedt op omdat automatische tijdsynchronisatie (NTP) is ingeschakeld, waardoor handmatige tijdwijzigingen worden voorkomen.

Om het te repareren, schakel eerst NTP uit en stel vervolgens de tijd in.

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

Datum en lokale tijd instellen in Linux

7. Om zowel de datum als de tijd in te stellen, gebruik je de set-time-schakelaar samen met het datumformaat in YYYY-MM-DD (Jaar, Maand, Dag) en de tijd in HH:MM:SS (Uur, Minuut en Seconden):

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

Configureren van datum en tijd met YY:MM:DD en HH:MM:SS formaat

Hoe je de hardwareklok in Linux kunt vinden en instellen

8. Om uw hardwareklok in te stellen op de Geïntegreerde Universele Tijd, UTC, gebruikt u de optie set-local-rtc boolean-value als volgt:

Controleer eerst of je hardwareklok is ingesteld op de lokale tijdzone:

timedatectl | grep local

Stel uw hardwareklok in op de lokale tijdzone:

sudo timedatectl set-local-rtc 1

Stel uw hardwareklok in op UTC in Linux

Stel uw hardwareklok in op Coördineerde Universele Tijd (UTC):

sudo timedatectl set-local-rtc 0

Stel uw hardwareklok in op UTC

Opmerking: Het instellen van de RTC op lokale tijd wordt niet aanbevolen en kan problemen veroorzaken bij de zomertijdaanpassingen, daarom is het het beste om de RTC op UTC te houden.

Linux-systeemklok synchroniseren met een externe NTP-server

NTP staat voor Network Time Protocol en is een internetprotocol dat wordt gebruikt om de systeemklok tussen computers te synchroniseren.

De timedatectl-tool stelt je in staat om de klok van je Linux-systeem automatisch te synchroniseren met een externe groep servers via NTP.

De meeste moderne Linux-distributies gebruiken verschillende implementaties voor NTP-synchronisatie:

  • systemd-timesyncd: Een lichte SNTP (Simple NTP) client ingebouwd in systemd, die geschikt is voor de meeste desktop- en single-serverconfiguraties.
  • chrony: Een volledig uitgeruste NTP-implementatie die zowel als client als server kan functioneren. Het gaat beter om met onderbroken netwerkverbindingen en is nauwkeuriger.

Gebruik van systemd-timesyncd

Om automatische tijdsynchronisatie met een externe NTP-server te starten, typ je het volgende commando in de terminal, waarmee de systemd-timesyncd-service wordt ingeschakeld en gestart.

sudo timedatectl set-ntp true

Om de NTP-tijdsynchronisatie uit te schakelen, typt u het volgende commando in de terminal.

sudo timedatectl set-ntp false

Om de synchronisatiestatus te controleren:

timedatectl status

Je zou moeten zien „Systeemklok gesynchroniseerd: ja” en „NTP-service: actief”.

Chrony gebruiken (Aanbevolen voor servers)

Als je een server runt of meer betrouwbare tijdsynchronisatie nodig hebt, is chrony de betere keuze, en het is vooral goed voor:

  • Systemen die niet continu draaien (laptops, desktops).
  • Servers vereisen hoge nauwkeurigheid.
  • Systemen met intermitterende netwerkverbinding.
  • Gekloosterde omgevingen waar tijdconsistentie cruciaal is.

Installeer eerst chrony (als het nog niet is geïnstalleerd):

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

Opmerking: Het installeren van chrony zal systemd-timesyncd automatisch uitschakelen om conflicten te voorkomen.

Na installatie, inschakelen, starten en de synchronisatiestatus controleren:

sudo systemctl enable --now chronyd
timedatectl status

Status van systeemuursynchronisatie controleren

Om je eigen NTP-servers te gebruiken in plaats van de standaardservers, moet je het Chrony-configuratiebestand bewerken.

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

Voeg uw voorkeur NTP-servers toe (u kunt een lijst met NTP-servers krijgen van het NTP Pool Project).

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

Start chrony opnieuw na wijzigingen:

sudo systemctl restart chronyd

Belangrijke opmerkingen over NTP-synchronisatie

  • Je kunt niet meerdere NTP-implementaties tegelijkertijd uitvoeren, kies dus of systemd-timesyncd of chrony.
  • systemd-timesyncd is slechts een clientimplementatie en kan de tijd niet aan andere systemen leveren.
  • chrony kan zowel fungeren als een tijdclient als een tijdserver voor je lokale netwerk.
  • Voor productieservers en kritieke infrastructuur wordt over het algemeen chrony aanbevolen boven systemd-timesyncd.
  • NTP vereist dat UDP-poort 123 open is voor uitgaande verbindingen.
Samenvatting

Dit zijn zeer eenvoudige voorbeelden die in deze handleiding worden beschreven en ik hoop dat je ze nuttig zult vinden voor het instellen van verschillende Linux-systeemklokken en tijdzones.

Om meer te weten te komen over dit hulpmiddel, ga naar de timedatectl man-pagina.

man timedatectl

Als je iets te zeggen hebt over dit artikel, voel je dan vrij om een reactie achter te laten voor meer informatie om toe te voegen.