At holde vores dato- og klokkeslætsindstillinger nøjagtige i Linux er ekstremt vigtigt for, at systemopgaverne fungerer gnidningsløst. Det timedatectl kommando i Linux giver dig mulighed for at forespørge og ændre systemuret og dets forskellige tilknyttede indstillinger. Det kommer som en del af systemd og giver en enkel måde at sikre, at dit system rapporterer den rigtige dato og tid. Her viser vi dig, hvordan du bruger timedatectl for at styre tid og dato på din Linux-maskine.
Tip: Du kan også bruge systemd timer som en cron-erstatning.
Systemur vs. realtidsur (RTC)
Dit Linux-system bruger to forskellige ure til at holde styr på tiden – systemur og realtidsur.
Det system ur eller det softwarestyrede ur vedligeholdes af dit operativsystem eller Linux-kernen. Det har brug for hjælp fra realtidsuret for at få den indledende værdi under en systemopstart.
Det realtidsur eller RTC er et hardwareur på dit bundkort og forbliver aktivt, selv når systemet er slukket. Den bruger et batteri til at holde den kørende kontinuerligt, så den kan spore tiden og informere systemet om det korrekte tidspunkt under opstarten.
Det timedatectl kommando hjælper dig med at styre begge disse ure.
Vis systemdato og klokkeslæt med timedatectl
Det timedatectl kommando er en af de mest nyttige Linux-kommandoer. For blot at tjekke den aktuelle dato og klokkeslæt på dit Linux-system skal du indtaste timedatectl kommando uden andre parametre, og tryk på Gå ind. Outputtet viser lokal tid, universel tid, RTC-tid, tidszone og nogle andre nyttige oplysninger.

Mens Lokal tid (baseret på systemets tidszone), Universel tidog RTC tid poster er selvforklarende, den Tidszone indtastning refererer til den tidszone, der aktuelt er indstillet i systemet.
De andre elementer informerer dig om, hvorvidt systemuret er synkroniseret med en NTP-server (til realtidsopdatering ved brug af internettet), om denne NTP-tjeneste er aktiv, og om RTC’en bruger lokal tid i stedet for UTC.
Opdater systemtidszone Med indstillet tidszone
Afhængigt af den tidszone dit Linux-system bruger, viser systemuret muligvis ikke den korrekte lokale tid.
For at kontrollere den tidszone dit system bruger, se Tidszone linje i outputtet i forrige afsnit. For eksempel bruger mit system USA/østlige (EST, -0500) tidszone. Det -0500 offset refererer til forskellen fra UTC eller den universelle tid.
Hvis du vil ændre tidszonen, skal du først forespørge systemet for en liste over tilgængelige tidszoner, du kan bruge:
timedatectl list-timezones
Det vil generere en lang liste og vil tage lang tid for dig at rulle igennem. For et mere praktisk output kan du ændre kommandoen for at begrænse resultaterne til dit lokale område eller land:
timedatectl list-timezones | grep "America/" | less

For at ændre systemets aktuelle tidszone kan du bruge set-timezone parameter som følger:
timedatectl set-timezone "America/Chicago"
Systemet kan bede dig om at indtaste din adgangskode, da kommandoen kræver forhøjede rettigheder for at udføre. Når du er færdig, kan du bekræfte ændringen ved blot at udføre timedatectl en gang til.

Du kan se, at outputtet rapporterer den nye tidszone, der blev opdateret i den forrige kommando. Hvis du foretrækker det, kan du endda indstille flere tidszoner i Ubuntu og andre Linux-distros for et hurtigt blik på flere tidszoner på én gang.
Indstil systemdato og -klokkeslæt manuelt med indstillet klokkeslæt
I de fleste tilfælde vil dit system synkronisere systemuret med en NTP-server ved opstart, så dit systemtid og dato altid er korrekt. Men i tilfælde af at dit system ikke har adgang til internettet, kan du stadig bruge set-time parameter for manuelt at indstille en ny dato eller tid.
For manuelt at indstille systemets dato og klokkeslæt skal du først deaktivere synkroniseringen med NTP-serveren:
sudo systemctl disable --now chronyd
Indstil derefter den nye dato og klokkeslæt ved hjælp af følgende kommando:
timedatectl set-time "2023-11-16 10:00:00"

Konfigurer realtidsur med timedatectl
Du kan også konfigurere dit systems realtidsur. Som standard synkroniseres RTC til den universelle tid eller UTC, men det er muligt at indstille det til din lokale tidszone.
En ting at bemærke er, at opretholdelse af RTC i den lokale tidszone kan skabe forskellige problemer med tidszoneændringer og sommertid. Dit system viser muligvis også en lignende advarsel, hvis du ændrer RTC til din lokale tidszone.
Under alle omstændigheder, hvis du stadig vil indstille RTC til din lokale tidszone, skal du udføre følgende kommando:
timedatectl set-local-rtc 1

Hvis du vil sætte RTC tilbage til UTC igen, skal du blot udskifte 1 med 0 i samme kommando.
Bemærk: Hvis du dual-booter din computer med Windows og Linux, kan du støde på et scenarie, hvor systemets ure ikke er synkroniseret. Her er hvordan du kan rette det.
Synkroniser systemur med NTP
NTP, eller Network Time Protocol, er en internetprotokol til klokkesynkronisering mellem et bredt netværk af computere over internettet. Det er beregnet til at synkronisere alle deltagende computere til inden for et par millisekunder af UTC.
For at kunne synkronisere systemuret med en NTP-server skal du have NTP installeret på dit system. Du kan blot udføre installationskommandoen for at gøre dette:
sudo apt-get -y install ntp

Nu, for at aktivere automatisk synkronisering med en NTP-server, skal du udføre følgende kommando:
timedatectl set-ntp true

På samme måde kan du deaktivere NTP-synkronisering ved at bruge følgende kommando: timedatectl set-ntp false.
Administrer systemtid og dato med timedatectl
Det timedatectl command er et praktisk værktøj til at justere dit systemur og RTC-konfigurationer samt indstille den nødvendige tidszone, hvis du har flyttet eller rejser. Hvis du altid er på farten, vil du gerne gøre brug af disse tidszonekonvertere til nem planlægning af opgaver.
Alle skærmbilleder af Tanveer Singh.
Støt vores arbejde ❤️
Hvis du kunne lide denne artikel, kan du overveje at give drikkepenge for at hjælpe os med fortsat at udgive kvalitetsindhold.




















