LFCA: Opi hallitsemaan aikaa ja päivämäärää Linuxissa – Osa 6


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

Aika on ratkaisevan tärkeä kaikissa Linux-järjestelmissä. Useat palvelut, kuten crontab, anacron, varmuuskopiointi- ja palautuspalvelut, riippuvat tarkasta ajasta tehtäviensä suorittamiseen odotetulla tavalla.

Linuxissa on kahdenlaisia kelloja:

  • Laitteistokello – Tämä on paristokäyttöinen kello, josta käytetään myös nimitystä CMOS-kello tai RTC (Real Time Clock). Kello toimii käyttöjärjestelmästä riippumatta ja jatkaa toimintaansa, vaikka järjestelmästä olisi katkaistu virta, jos CMOS-akku on paikallaan.
  • Järjestelmän kello ( Ohjelmistokello ) – Tätä kutsutaan myös ytimen kelloksi. Käynnistyshetkellä järjestelmän kello alustetaan laitteistokellosta ja siirtyy sieltä.

Yleensä näiden kahden kellon välillä on aikaero siten, että ne asteittain ajautuvat 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ä

Linux-järjestelmässä kellonajan ja päivämäärän tarkistamiseen käytetään kahta pääapuohjelmaa. Ensimmäinen on date-komento. Ilman argumentteja se tarjoaa melkoisen määrän esitettyä tietoa

date

Friday 26 March 2021 11:15:39 AM IST

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

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

26-03-21

Jos haluat vain nähdä nykyisen ajan etkä 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 ja CentOS 8. Se korvaa date-komennon, joka oli näkyvästi esillä vanhoissa SysVinit-järjestelmissä. Sitä voidaan käyttää ajan kyselyyn ja säätämiseen Linux-järjestelmässä.

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

timedatectl

Aikavyöhykkeen asettaminen Linux-järjestelmässä

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

timedatectl | grep Time

Yllä olevan katkelman tulosteen perusteella olen Afrikka/Nairobi-aikavyöhykkeellä. Voit tarkastella käytettävissä olevia aikavyöhykkeitä suorittamalla komennon:

timedatectl list-timezones

Paina ENTER selataksesi koko luetteloa mahdollisista käytettävissä olevista aikavyöhykkeistä.

Aikavyöhykkeet määritellään myös /usr/share/zoneinfo/-polulla kuvan mukaisesti.

ls /usr/share/zoneinfo/

Voit määrittää aikavyöhykkeen parilla eri tavalla. timedatectl-komennolla voit asettaa aikavyöhykkeeksi esimerkiksi Amerikka/Chicago käyttämällä näkyvää syntaksia.

timedatectl set-timezone 'America/Chicago'

Toinen tapa asettaa aikavyöhyke on luoda symbolinen linkki /usr/share/zoneinfo-polussa olevasta aikavyöhyketiedostosta osoitteeseen /etc/localtime. Jos esimerkiksi haluat asettaa paikalliseksi aikavyöhykkeeksi EST (Eastern Standard Time), anna komento:

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

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

Jos haluat asettaa ajan vain Linux-järjestelmässä muodossa HH:MM:SS (tunti: minuutti: sekunti ), käytä alla olevaa syntaksia

timedatectl set-time 18:30:45

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

timedatectl set-time 20201020

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

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

HUOMAA: Kellonajan ja päivämäärän manuaalista asettamista tällä tavalla ei suositella, koska määrität todennäköisesti epätarkkoja kellonajan ja päivämäärän asetuksia. Itse asiassa oletusarvoisesti automaattinen ajan synkronointi on käytössä, jotta et voi tehdä manuaalisia kellonajan ja päivämäärän asetuksia.

Suositeltavin tapa asettaa aika on joko määrittää aikavyöhyke, jossa olet aiemmin esitetyllä tavalla, tai ottaa käyttöön automaattinen aikasynkronointi 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 automaattisesti synkronoimaan järjestelmän aikakello online-NTP-palvelimien poolin kanssa.

timedatectl-komennolla voit määrittää automaattisen ajan synkronoinnin seuraavasti:

timedatectl set-ntp true

Voit poistaa automaattisen NTP-aikasynkronoinnin käytöstä seuraavasti:

timedatectl set-ntp false
Johtopäätös

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