V tem članku vam bom povedal, kako v Linux CentOS-u nastaviti čas, datum in spremeniti časovni pas, kako sinhronizirati čas s strežnikom NTP in odpraviti običajne napake.
Vsebina:
- Ura: nastavitev strojne (sistemske) ure
- Ročna nastavitev časa v CentOS-u
- Nastavitev časovne cone v CentOS-u
- Konfigurirajte sinhronizacijo časa NTP v CentOS-u
- Za časovno sinhronizacijo v CentOS 8 uporabljamo chronyd
- Pogoste napake pri nastavitvi časa v CentOS-u
Na strežnikih obstajata dve vrsti ur. Strojna oprema (ura v realnem času), ki deluje tudi, ko je strežnik izklopljen in programska ura operacijskega sistema. Odčitki teh dveh ur so lahko različni. V tem primeru programska ura po zagonu operacijskega sistema temelji na odčitkih strojne opreme in jo lahko sistem pozneje prilagodi..
Velika večina programov pri svojem delu uporablja ure programske opreme..
Ura: nastavitev strojne (sistemske) ure
Pripomoček za preverjanje strojne ure v Linuxu uro:
hwclock - lokalen čas
- preverjanje časa strojne opreme brez popravkovhwclock --utc
- preverjanje časa s pogojem, da je ura strojne opreme v UTC
[root @ server itd.] # hwclock - čas lokala
Sre 27. november 2019 11:28:28 +06 -1.012225 sekund
[root @ server itd.] # hwclock --utc
Sre 27. november 2019 17:28:30 +06 -0.045476 sekund
Če želite nastaviti čas strojne opreme enak sistemskemu času, zaženite ukaz:
# hwclock --systohc
Če želite nastaviti določen čas, naredite:
# hwclock --set --date "27. november 2019 17:30"
Ročna nastavitev časa v CentOS-u
V Linuxu je pripomoček odgovoren za programski čas datum ali timedatectl. Če pokličete pripomoček datum brez parametrov, bo prikazal trenutni čas na strežniku:
[root @ server itd.] # datum
Sre 27. november 17:40:56 +06 2019
Če želite čas nastaviti ročno, lahko uporabite pripomoček datum z dodatnimi tipkami:
# datum MMDDhhmm
Kjer je MM mesec, DD je dan, hh je ura, mm, minute.
Na primer:
# datum 11261740
Za pridobitev naprednih informacij o datumu, uri, coni, sinhronizaciji, nastavitvah za prehod na sezonski (poletni / zimski) čas (DST) se uporablja pripomoček timedatectl. Ponuja podrobnejše informacije o nastavitvah časa strežnika..
Timedatectl vam omogoča tudi spreminjanje časa:
# timedatectl nastavljen čas '2019-11-27 17:51:00'
Nastavitev časovne cone v CentOS-u
Če želite, da se čas strežnika CentOS Linux ujema z vašim časovnim pasom, ga lahko spremenite ročno. Za to obstajata dva pripomočka:
- timedatectl
- tzdata
Če želite spremeniti časovni pas prek pripomočka timedatectl, zaženite ukaz:
# timedatectl nastavljena časovna cona Evropa / Moskva
Lahko pa uporabite tzdata. Za uporabo te metode morate zamenjati datoteko / etc / localtime do tistega, ki ga potrebujete. Celoten seznam časovnih pasov se nahaja v imeniku / usr / share / zoneinfo /. Spremenite časovni pas v Azija / Almatija. Naredite varnostno kopijo datoteke locatime:
# mv / etc / localtime /etc/localtime.bak
Ustvarite simbolno povezavo do želenega časovnega pasu:
# ln -s / usr / share / zoneinfo / Azija / Almati / etc / localtime
Konfigurirajte sinhronizacijo časa NTP v CentOS-u
Na strežniku lahko konfigurirate samodejno sinhronizacijo časa z zunanjim strežnikom NTP (Network Time Protocol). Če želite to narediti, namestite storitev ntp. Na primer, na CentOS 7 se namestitev izvede prek yum:
# yum namestite ntp -y
Po namestitvi morate zagnati storitev ntpd in jo dodati zagonu:
# systemctl start ntpd.service
# systemctl omogoči ntpd.service
Preverite, ali storitev deluje:
[root @ server Asia] # storitev ntpd statusa
Preusmeritev na / bin / systemctl status ntpd.service ● ntpd.service - omrežni čas je naložen: naloženo (/usr/lib/systemd/system/ntpd.service; omogočeno; prednastavitev ponudnika: onemogočeno) aktivno: aktivno (deluje) od čet 2019-11-28 09:47:33 +06; 5min nazaj Glavni PID: 3057 (ntpd) CGroup: /system.slice/ntpd.service └─3057 / usr / sbin / ntpd -u ntp: ntp -g
V datoteki /etc/ntp.conf morate določiti strežnik, s katerim želite sinhronizirati čas:
strežnik 0.pool.ntp.org strežnik 1.pool.ntp.org strežnik 2.pool.ntp.org
Časovna sinhronizacija se izvaja zaporedno. Če prvi strežnik NTP ni na voljo, je do drugega dostopen itd..
Čas lahko ročno sinhronizirate z navedenim strežnikom NTP z ukazom:
# ntpdate 192.168.1.100
Privzeto, ntpd v sistemu vklopi način "11 minutnega načina", to pomeni, da se čas sinhronizira vsakih 11 minut. Če ne morete uporabiti demona ntpd, lahko konfigurirate časovno sinhronizacijo s krono in v krono dodate naslednji ukaz:
# ntpdate pool.ntp.org
Za časovno sinhronizacijo v CentOS 8 uporabljamo chronyd
Za CentOS 8 odstranjen iz uradnih skladišč ntp in ntpdate, zato morate sinhronizirati čas kronija.
Glavne prednosti kronike:
- visoka hitrost in natančnost sinhronizacije
- pravilno delovanje v odsotnosti dostopa do referenčne ure (ntpd zahteva redne zahteve)
- privzeto čas sinhronizacije ne spremeni takoj, da ne bi motili delovanja programov
- Uporablja manj virov
Privzeti pripomoček kronija je že nameščen v sistemu, če pa ga iz nekega razloga nimate, namestite:
# dnf namestite chrony
Kot katero koli drugo storitev, morate tudi po namestitvi chrony omogočiti in ga dodati v zagon:
# systemctl start chronyd
# systemctl omogoči chronyd
Preverite stanje storitve:
Če želite preveriti, ali sinhronizacija deluje, zaženite ukaz:
# timedatectl status
Storitev NTP: aktivna
Konfiguracijska datoteka kronija - /etc/chrony.conf. V njem morate določiti seznam strežnikov NTP, ki jih želite uporabiti za sinhronizacijo. Kot u ntp, ob kronija obstaja vmesnik ukazne vrstice kronika. Če želite preveriti informacije o trenutnih nastavitvah sinhronizacije časa, uporabite:
# kronično sledenje
Če želite preveriti informacije o sinhronizacijskih strežnikih, zaženite ukaz:
# kronični viri
Če želite ročno nastaviti določen čas in datum, lahko uporabite pripomoček datum, pred tem pa morate onemogočiti demon kronid.
Pogoste napake pri nastavitvi časa v CentOS-u
V tem razdelku bom opisal pogoste napake, ki se pojavijo pri delu s pripomočki timedatectl, ntp.
Pri ročni sinhronizaciji časa lahko pride do podobne napake:
ntpdate [26214]: vtičnica NTP je v uporabi in izstopa
Pomeni, da imate demon. ntpd, ki blokira ročno časovno sinhronizacijo. Če želite izvesti ročno sinhronizacijo, ustavite demon ntpd:
# storitev ntpd stop
In ponovno zaženite sinhronizacijo:
Podobna napaka se lahko pojavi pri delu s pripomočkom timedatectl:
Časa ni bilo mogoče nastaviti: Samodejna sinhronizacija časa je omogočena.
Zdaj morate onemogočiti samodejno sinhronizacijo v samem pripomočku timedatectl:
# timedatectl set-ntp 0
In izvedite ukaz, da nastavite določen čas:
Pri delu s časovnimi pasovi morda ne bodo nameščeni na vašem strežniku in ustvarijo simbolno povezavo za lokalni čas ne bo uspelo. Če želite časovne pasove narediti na voljo v sistemu, namestite pripomoček tzdata:
# yum namestite tzdata -y
Torej se pri ročni sinhronizaciji pogosto pojavljajo napake obrazca:
28. november 10:12:39 ntpdate [897482]: sendto (185.217.191.98): Operacija ni dovoljena
V tem primeru preverite pravila firewalld / iptables in preverite, ali je na vašem strežniku odprto vrata UDP 123. Tudi nekateri sinhronizacijski gostitelji ob preverjanju morda ne bodo na voljo..