LFCA: Lær å administrere tid og dato i Linux – Del 6


Denne artikkelen er del 6 av LFCA-serien, her i denne delen vil du gjøre deg kjent med de generelle systemadministrasjonskommandoene for å administrere klokkeslett- og datoinnstillinger i Linux-systemet.

Tid er avgjørende i ethvert Linux-system. Flere tjenester som crontab, anacron, backup og gjenopprettingstjenester avhenger av nøyaktig tid for å utføre oppgavene som forventet.

Linux har 2 typer klokker:

  • Maskinvareklokke – Dette er den batteridrevne klokken også referert til som CMOS-klokken eller RTC (sanntidsklokke). Klokken går uavhengig av operativsystemet og fortsetter å gå selv når systemet er slått av forutsatt at CMOS-batteriet er til stede.
  • Systemklokke ( Programvareklokke ) – Dette blir også referert til som kjerneklokken. Ved oppstart initialiseres systemklokken fra maskinvareklokken og tar over derfra.

Vanligvis eksisterer det en tidsforskjell mellom de to klokkene slik at de gradvis driver fra hverandre. Vi kommer til dette senere og viser deg hvordan du kan synkronisere disse klokkene.

For nå skal vi se hvordan du kan sjekke tid og dato på et Linux-system.

Sjekk tid og dato på et Linux-system

Det er to hovedverktøy som brukes til å sjekke tid og dato på et Linux-system. Den første er datokommandoen. Uten noen argumenter gir det ganske mye informasjon som vises

$ date

Friday 26 March 2021 11:15:39 AM IST

For å se datoen kun i dd-mm-åå-tidsformat, kjør kommandoen:

$ date +"%d-%m-%y"

26-03-21

Hvis du bare vil se gjeldende tid og ingenting annet, bruk kommandoen:

$ date "+%T"

11:17:11

Timedatectl-kommandoen er et nytt verktøy som brukes i moderne Linux-systemer som Ubuntu 18.04, RHEL 8 & CentOS 8. Det er en erstatning for datokommandoen som var fremtredende i de gamle SysVinit-systemene. Den kan brukes til å spørre og justere tiden på et Linux-system.

Uten noen alternativer skriver timedatectl-kommandoen ut en rekke informasjon som lokal tid, UTC-tid, RTC-tid og tidssonen for å nevne noen.

$ timedatectl

Hvordan sette en tidssone på et Linux-system

På et Linux-system er tiden avhengig av tidssonen som er satt. For å sjekke tidssonen som er konfigurert på systemet ditt, utfør kommandoen:

$ timedatectl | grep Time

Fra utdataene i utdraget ovenfor, er jeg i Afrika/Nairobi-tidssonen. For å se de tilgjengelige tidssonene, kjør kommandoen:

$ timedatectl list-timezones

Trykk ENTER for å bla gjennom hele listen over mulige tidssoner som er tilgjengelige.

Tidssoner er også definert i /usr/share/zoneinfo/-banen som vist.

$ ls /usr/share/zoneinfo/

Det er et par måter du kan bruke for å konfigurere tidssonen. Ved å bruke timedatectl-kommandoen kan du sette tidssonen, for eksempel til America/Chicago, ved å bruke syntaksen som vises.

$ timedatectl set-timezone 'America/Chicago'

Den andre måten du kan angi tidssonen på er å lage en symbolsk lenke fra en tidssonefil i /usr/share/zoneinfo-banen til /etc/localtime. For eksempel, for å sette den lokale tidssonen til EST (Eastern Standard Time), utfør kommandoen:

$ sudo ln -sf /usr/share/zoneinfo/EST /etc/localtime

Still inn dato og klokkeslett på et Linux-system

For å stille inn tid kun på et Linux-system som bruker formatet TT:MM:SS (time: minutt: sekund ), bruk syntaksen nedenfor

$ timedatectl set-time 18:30:45

For å stille inn datoen kun i formatet ÅÅ-MM-DD (År: Måned: Dag), bruk syntaksen:

$ timedatectl set-time 20201020

For å angi både dato og klokkeslett, kjør:

$ timedatectl set-time '2020-10-20 18:30:45'

MERK: Manuell innstilling av klokkeslett og dato på denne måten anbefales ikke, siden du sannsynligvis vil konfigurere unøyaktige klokkeslett- og datoinnstillinger. Faktisk er automatisk tidssynkronisering slått på som standard for å hindre deg i å foreta manuelle klokkeslett- og datoinnstillinger.

Den mest anbefalte måten å stille inn tid på er enten å spesifisere tidssonen du er i som vist tidligere eller slå på automatisk tidssynkronisering med en ekstern NTP-server.

Angi automatisk tidssynkronisering ved hjelp av NTP-server

NTP er forkortelse for Network Time Protocol, som er en internettprotokoll som brukes til å automatisk synkronisere systemets klokke med en pool på online NTP-servere.

Ved å bruke timedatectl-kommandoen kan du stille inn automatisk tidssynkronisering som følger:

$ timedatectl set-ntp true

For å deaktivere automatisk NTP-tidssynkronisering, kjør:

$ timedatectl set-ntp false

Timedatectl- og date-kommandoene er nyttige kommandolinjeverktøy som kan hjelpe deg å sjekke og justere tiden din på Linux.