centos7系统时间管理timedatectl

在CentOS 6中,系统时间管理的操作如下:

  • 显示和设置系统时间会用date命令
  • 修改时区需要找到相应的时区文件 /usr/share/zoneinfo/Asia/Shanghai替换当前的/etc/localtime
  • 时间同步需要安装ntpdate

从CentOS 7开始,关于时间管理的指令除了保留了之前版本中常用到的date、hwclock等命令外,还增加了一个统一的新命令timedatactl,作为systemd系统和服务管理器的一部分(*ctl风格)

可以使用timedatectl命令来设置或更改当前的日期,时间和时区,或实现与远程NTP服务器的自动系统时钟同步。

读取时间:timedatectl(等同于 timedatectl status)

timdatectl显示出来的信息,比date要丰富很多。有本地时间,UTC时间,RTC时间(硬件时间),还有时区,NTP同步等信息。

[root@master ~]# timedatectl 
      Local time: Sat 2021-05-08 16:13:13 CST        //当地时间
  Universal time: Sat 2021-05-08 08:13:13 UTC        //伦敦时间
        RTC time: Sat 2021-05-08 08:13:13            //硬件时间
       Time zone: Asia/Shanghai (CST, +0800)         //时区:亚洲上海(东8区)UTC时间加上8等于当前时间
     NTP enabled: yes                                //表示开启时间同步
NTP synchronized: yes                                //表示时间已同步,ntp服务正常运行
 RTC in local TZ: no
      DST active: n/a

设置日期与时间:timedatectl set-time "YYYY-MM-DD HH:MM:SS"

日期:
[root@master ~]# timedatectl set-time 2019-06-22

时间:
[root@master ~]# timedatectl set-time "20:45:00"

日期时间:
[root@master ~]# timedatectl set-time "2019-03-11 20:45:00"

列出所有时区:timedatectl list-timezones

这个命令的显示很长,如果是寻找时区的名称,可以通过管道给grep过滤:

[root@master ~]# timedatectl list-timezones | grep Shang
Asia/Shanghai

或者这样:

[root@master ~]# timedatectl list-timezones | grep -o "Asia/S.*"
Asia/Sakhalin
Asia/Samarkand
Asia/Seoul
Asia/Shanghai
Asia/Singapore
Asia/Srednekolymsk

设置时区:timedatectl set-timezone Asia/Shanghai

设置同步NTP时间:timedatectl set-ntp true  

设置与NTP服务同步的前提是系统上安装了NTP或者Chrony,否则会出现错误 Failed to set ntp: NTP not supported. 

安装NTP,可直接采用 yum installl ntp 即可

当设置timedatectl set-ntp true ,显示 NTP enabled: yes

[root@master ~]# timedatectl set-ntp true
[root@master ~]# timedatectl 
      Local time: Sat 2021-05-08 17:18:36 CST
  Universal time: Sat 2021-05-08 09:18:36 UTC
        RTC time: Mon 2019-03-11 12:52:53
       Time zone: Asia/Shanghai (CST, +0800)
     NTP enabled: yes
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a

需要过一段时间,才会显示 NTP synchronized: yes(不想等待的话,重启ntp服务)

[root@master ~]# timedatectl 
      Local time: Sat 2021-05-08 17:32:46 CST
  Universal time: Sat 2021-05-08 09:32:46 UTC
        RTC time: Sat 2021-05-08 09:32:46
       Time zone: Asia/Shanghai (CST, +0800)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a

注意:设置了NTP自动同步后,手动设置时间命令将不生效,会出现Failed to set time: Automatic time synchronization is enabled

[root@master ~]# timedatectl set-time 2021-01-01
Failed to set time: Automatic time synchronization is enabled

 

posted @ 2021-05-08 21:27  酒红色  阅读(1543)  评论(0编辑  收藏  举报