skip to Main Content
Setare dată și oră sub CentOS 7 folosind timedatectl

Note de lucru: setare dată și oră CentOS 7

Cum se poate verifica ora curentă pe un sistem cu CentOS 7?

Pentru a vedea data și ora în CentOS 7 avem la dispoziție comanda

timedatectl

După lansarea acesteia vor fi afișate informațiile curente de pe sistemul accesat:

[root@server]# timedatectl
      Local time: Sun 2017-08-20 10:35:49 EEST
  Universal time: Sun 2017-08-20 07:35:49 UTC
        RTC time: Sun 2017-08-20 07:35:49
       Time zone: Europe/Bucharest (EEST, +0300)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: yes
      DST active: yes
 Last DST change: DST began at
                  Sun 2017-03-26 02:59:59 EET
                  Sun 2017-03-26 04:00:00 EEST
 Next DST change: DST ends (the clock jumps one hour backwards) at
                  Sun 2017-10-29 03:59:59 EEST
                  Sun 2017-10-29 03:00:00 EET

Warning: The system is configured to read the RTC time in the local time zone.
         This mode can not be fully supported. It will create various problems
         with time zone changes and daylight saving time adjustments. The RTC
         time is never updated, it relies on external facilities to maintain it.
         If at all possible, use RTC in UTC by calling
         'timedatectl set-local-rtc 0'.

Așa cum probabil remarcați, am primit și o notificare despre faptul că sistemul este setat să convertească RTC (ceasul sistemului în timp real) în ora locală potrivit fusului orar setat pe sistem.

Mesajul ne avertizează de fapt că, deși avem ora locală corectă, ajustările specifice unui anumit fus orar, cum ar fi trecerea la ora de vară, de exemplu, nu vor fi făcute automat, neexistând o sincronizare cu un server etalon.
Pentru a remedia problema vom lansa comanda:

[root@server]# timedatectl set-local-rtc 0

Verificarea se face folosind din nou timedatectl

[root@server]# timedatectl
      Local time: Sun 2017-08-20 10:36:46 EEST
  Universal time: Sun 2017-08-20 07:36:46 UTC
        RTC time: Sun 2017-08-20 07:36:46
       Time zone: Europe/Bucharest (EEST, +0300)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: yes
 Last DST change: DST began at
                  Sun 2017-03-26 02:59:59 EET
                  Sun 2017-03-26 04:00:00 EEST
 Next DST change: DST ends (the clock jumps one hour backwards) at
                  Sun 2017-10-29 03:59:59 EEST
                  Sun 2017-10-29 03:00:00 EET

Cum setez ora folosind comanda timedatectl?

[root@server]# timedatectl set-time 10:33:54

Pentru a seta ora exactă, folosim comanda timedatectl cu parametrul set-time folosind formatul an-lună-zi (YEAR-MONTH-DAY), urmat de ora curentă:

timedatectl set-time "2017-08-20 10:34:49"

UTIL: Dacă nu includem ora dorită cînd facem aceste modificări, sistemul va seta automat ceasul la 00:00:00.

Cum schimb fusul orar folosind comanda timedateclt?

Pentru a schimba fusul orar al sistemului, folosim comanda timedatectl cu parametrul set-timezone urmat de fusul orar dorit:

timedatectl set-timezone Europe/Bucharest

Dacă nu cunoaștem denumirile standard ale fusurilor orare pe care le putem folosi, le vom putea afișa folosind comanda timedatectl cu parametrul list-timezones:

timedatectl list-timezones

Dacă știm numele fusului orar, putem interoga lista pentru a-i identifica mai repede denumirea standard:

[root@server]# timedatectl list-timezones | grep -i Bucharest
Europe/Bucharest

Se poate recurge și la listarea zonelor pe continente:

timedatectl list-timezones | grep Europe

Bonus: cum activez sincronizarea ceasului cu serverele etalon prin Network Time Protocol – NTP?

Pentru a menține data și ora corecte pe sistem, este de preferat să activăm sincronizarea automată a ceasului cu serverele etalon prin NTP.

[root@server]# timedatectl set-ntp yes

INFO: Dacă folosim comanda de mai sus, sistemul va activa unul dintre serviciile chronyd sau ntpd (în funcție de care este prezent pe sistem).

Pentru a opri sincronizarea (deși nu văd de ce am vrea să facem asta) rulăm aceeași comandă cu no la urmă:

[root@server]# timedatectl set-ntp no

Pentru a verifica statusul serviciilor chronyd și ntpd rulăm comenzile:

[root@server]# systemctl status chronyd
â chronyd.service - NTP client/server
   Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2017-08-20 11:19:17 EEST; 10min ago
 Main PID: 303 (chronyd)
   CGroup: /system.slice/chronyd.service
           ââ303 /usr/sbin/chronyd

Aug 20 11:19:17 server.xxxxxxx.ro systemd[1]: Starting NTP client/server...
Aug 20 11:19:17 server.xxxxxxx.ro chronyd[303]: chronyd version 2.1.1 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +DEBU...CHASH)
Aug 20 11:19:17 server.xxxxxxx.ro chronyd[303]: Frequency 2.881 +/- 0.085 ppm read from /var/lib/chrony/drift
Aug 20 11:19:17 server.xxxxxxx.ro systemd[1]: Started NTP client/server.
Aug 20 11:19:23 server.xxxxxxx.ro chronyd[303]: Selected source 193.200.241.66
Hint: Some lines were ellipsized, use -l to show in full.
[root@server]# systemctl status ntpd
â ntpd.service - Network Time Service
   Loaded: loaded (/usr/lib/systemd/system/ntpd.service; disabled; vendor preset: disabled)
   Active: inactive (dead) since Sun 2017-08-20 11:18:23 EEST; 14min ago
 Main PID: 32594 (code=exited, status=0/SUCCESS)

Aug 20 11:16:10 server.xxxxxxx.ro ntpd[32594]: Listen normally on 8 eth0 2a02:c205:2009:5596::1 UDP 123
Aug 20 11:16:10 server.xxxxxxx.ro ntpd[32594]: Listen normally on 9 eth0 fe80::250:56ff:fe3c:ca9c UDP 123
Aug 20 11:16:10 server.xxxxxxx.ro ntpd[32594]: Listening on routing socket on fd #26 for interface updates
Aug 20 11:16:10 server.xxxxxxx.ro ntpd[32594]: 0.0.0.0 c016 06 restart
Aug 20 11:16:10 server.xxxxxxx.ro ntpd[32594]: 0.0.0.0 c012 02 freq_set kernel 0.000 PPM
Aug 20 11:16:10 server.xxxxxxx.ro ntpd[32594]: 0.0.0.0 c011 01 freq_not_set
Aug 20 11:16:17 server.xxxxxxx.ro ntpd[32594]: 0.0.0.0 c614 04 freq_mode
Aug 20 11:18:23 server.xxxxxxx.ro ntpd[32594]: ntpd exiting on signal 15
Aug 20 11:18:23 server.xxxxxxx.ro systemd[1]: Stopping Network Time Service...
Aug 20 11:18:23 server.xxxxxxx.ro systemd[1]: Stopped Network Time Service.

Comanda timedatectl este prezentă și pe alte distribuții Linux, chiar dacă în notele de mai sus am folosit ca referință experiența proprie pe CentOS 7.

Scrieți un comentariu

Porniți discuția!

Anunțați-mă despre
avatar
1500
wpDiscuz
Back To Top

Dacă derulezi pagina sau dacă navighezi pe acest site, îți dai acordul să folosim cookies. Cookie consent --> vezi detalii

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close