LFCA: Opi hallitsemaan aikaa ja päivämäärää Linuxissa - osa 6


Tämä artikkeli on LFCA-sarjan osa 6, tässä tässä osassa tutustut yleisiin järjestelmänhallintakomentoihin hallita aika- ja päivämääräasetuksia Linux-järjestelmässä.

Aika on ratkaiseva missä tahansa Linux-järjestelmässä. Useat palvelut, kuten crontab-, anacron-, varmuuskopiointi- ja palautuspalvelut, riippuvat tarkasta ajasta tehtäviensä suorittamiseen odotetulla tavalla.

Linuxissa on 2 tyyppistä kelloa:

  • Laitteistokello - Tämä on akkukäyttöinen kello, jota kutsutaan myös CMOS-kelloksi tai RTC: ksi (Real Time Clock). Kello toimii käyttöjärjestelmästä riippumatta ja jatkuu, vaikka järjestelmästä katkaistaan virta, jos CMOS-akku on läsnä.
  • Järjestelmäkello (ohjelmistokello) - Tätä kutsutaan myös ytimen kelloksi. Käynnistyshetkellä järjestelmän kello alustetaan laitteistokellolta ja se siirtyy sieltä.

Tavallisesti näiden kahden kellon välillä on aikaero siten, että ne ajautuvat vähitellen toisistaan. Tulemme tähän myöhemmin ja näytämme sinulle, kuinka voit synkronoida nämä kellot.

Toistaiseksi näemme, kuinka voit tarkistaa ajan ja päivämäärän Linux-järjestelmässä.

Tarkista aika ja päivämäärä Linux-järjestelmässä

On kaksi pääapuohjelmaa, joita käytetään ajan ja päivämäärän tarkistamiseen Linux-järjestelmässä. Ensimmäinen on päivämäärä-komento. Ilman argumentteja se tarjoaa melko vähän näytettyä tietoa

$ date

Friday 26 March 2021 11:15:39 AM IST

Jos haluat tarkastella päivämäärää vain pp-kk-vv -aikamuodossa, suorita komento:

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

26-03-21

Jos haluat vain tarkastella vain nykyistä aikaa eikä mitään muuta, käytä komentoa:

$ date "+%T"

11:17:11

Timedatectl-komento on uusi apuohjelma, jota käytetään nykyaikaisissa Linux-järjestelmissä, kuten Ubuntu 18.04, RHEL 8 & CentOS 8. Se korvaa päivämääräkomennon, joka oli merkittävä vanhoissa SysVinit-järjestelmissä. Sitä voidaan käyttää kyselemään ja säätämään aikaa Linux-järjestelmässä.

Ilman vaihtoehtoja timedatectl-komento tulostaa joukon tietoja, kuten paikallisen ajan, UTC-ajan, RTC-ajan ja aikavyöhykkeen mainitsemaan muutaman.

$ timedatectl

Aikavyöhykkeen asettaminen Linux-järjestelmälle

Linux-järjestelmässä aika riippuu asetetusta aikavyöhykkeestä. Voit tarkistaa järjestelmässäsi määritetyn aikavyöhykkeen antamalla komennon:

$ timedatectl | grep Time

Yllä olevan katkelman tuloksen perusteella olen Afrikan/Nairobin aikavyöhykkeellä. Voit tarkastella käytettävissä olevia aikavyöhykkeitä suorittamalla komennon:

$ timedatectl list-timezones

Paina ENTER selataksesi käytettävissä olevien aikavyöhykkeiden koko luetteloa.

Aikavyöhykkeet määritetään myös/usr/share/zoneinfo/polussa kuvan osoittamalla tavalla.

$ ls /usr/share/zoneinfo/

Aikavyöhyke voidaan määrittää muutamalla tavalla. Timedatectl-komennon avulla voit asettaa aikavyöhykkeen esimerkiksi Amerikkaan/Chicagoon näytetyn syntaksin avulla.

$ timedatectl set-timezone 'America/Chicago'

Toinen tapa asettaa aikavyöhyke on luoda symbolinen linkki aikavyöhyketiedostosta/usr/share/zoneinfo-polussa/etc/localtime. Esimerkiksi, jos haluat asettaa paikalliselle aikavyöhykkeelle EST (itäinen normaaliaika), anna komento:

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

Aseta päivämäärä ja aika Linux-järjestelmässä

Määritä aika vain Linux-järjestelmässä muodossa HH: MM: SS (tunti: minuutti: sekunti) käyttämällä alla olevaa syntaksia

$ timedatectl set-time 18:30:45

Jos haluat asettaa päivämäärän vain VV-KK-PP (vuosi: kuukausi: päivä) -muodossa, käytä syntaksia:

$ timedatectl set-time 20201020

Aseta päivämäärä ja aika suorittamalla:

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

HUOMAUTUS: Kellonajan ja päivämäärän asettamista manuaalisesti tällä tavalla ei suositella, koska todennäköisesti määrität epätarkat aika- ja päivämääräasetukset. Itse asiassa automaattinen ajan synkronointi on käytössä, jotta et voi tehdä manuaalisia aika- ja päivämääräasetuksia.

Suosituin tapa asettaa aika on joko määrittelemällä aikavyöhyke, jolla olet aiemmin, tai ottamalla automaattinen ajan synkronointi käyttöön NTP-etäpalvelimen kanssa.

Aseta automaattinen ajan synkronointi NTP-palvelimen avulla

NTP on lyhenne sanoista Network Time Protocol, joka on Internet-protokolla, jota käytetään synkronoimaan järjestelmän kello automaattisesti online-NTP-palvelinten poolin kanssa.

Timedatectl-komennon avulla voit asettaa automaattisen ajan synkronoinnin seuraavasti:

$ timedatectl set-ntp true

Poista automaattinen NTP-ajan synkronointi käytöstä seuraavasti:

$ timedatectl set-ntp false

Timedatectl- ja date-komennot ovat käteviä komentorivityökaluja, joiden avulla voit tarkistaa ja säätää aikaa Linuxissa.