引子:
- timedatectl是用于控制系统时间和日期。可以用来查询和更改系统时钟于设定,同时可以设定和修改时区信息。
- 在实际开发过程中,系统时间的显示会和实际出现不同步;我们一般为了校正服务器时间、时区的时候会使用timedatectl命令
使用者权限:所有使用者都可使用,设置时间需要管理员,下面会标注。
几个常见的概念,进行总结如下:
显示系统的当前时间和日期,使用命令行中的timedatectl命令
timedatectl status
执行效果如下
在上面的示例中,分别显示时区、CST时间和UTC时间,其中,RTC time就是硬件时钟的时间,硬件时间默认为UTC。
查看当前时区
timedatectl | grep Time
或者
timedatectl
执行效果如下
上图显示中国时区
查看所有可用的时区
timedatectl list-timezones
执行效果如下(下面数据没有截全)
设置本地时区
timedatectl set-timezone "Asia/Shanghai"
执行效果如下
禁用时间同步(使用管理员账户)
timedatectl set-ntp false
在执行
timedatectl set-time "2019-03-11 20:45:00"
执行效果如下
注意: 如果ntp时间同步为true时无法修改时间设定
打开ntp
timedatectl set-ntp true
在执行
timedatectl set-time "2019-03-11 20:45:00"
执行效果如下(ntp时间同步为true时无法修改时间设定)
报错信息,如下
启用时间同步
NTP即Network Time Protocol(网络时间协议),是一个互联网协议,用于同步计算机之间的系统时钟。timedatectl实用程序可以自动同步你的Linux系统时钟到使用NTP的远程服务器。
要开始自动时间同步到远程NTP服务器,在终端键入以下命令。
timedatectl set-ntp true
比如,在上面我们使用timedatectl set-time "2019-03-11 20:45:00",如下图
此时我们执行timedatectl set-ntp true,发现时间正常同步过来了如下图
要禁用NTP时间同步,在终端键入以下命令
timedatectl set-ntp false
执行上面的 命令即可关闭ntp
总结:
- 在实际使用过程中
- 我们经常使用timedatectl进行时区、CST、UTC的设置