名称
timedatectl 控制系统的时间与日期,可用于查询与修改 系统时钟的各项设置。
用法
timedatectl [OPTIONS...] {COMMAND}
选项与命令
[root@mini-1 ~]# timedatectl help
timedatectl [OPTIONS...] COMMAND ...
Query or change system time and date settings.
-h --help Show this help message
--version Show package version
--no-pager Do not pipe output into a pager
--no-ask-password Do not prompt for password
-H --host=[USER@]HOST Operate on remote host
-M --machine=CONTAINER Operate on local container
--adjust-system-clock Adjust system clock when changing local RTC mode
Commands:
status Show current time settings
set-time TIME Set system time
set-timezone ZONE Set system time zone
list-timezones Show known time zones
set-local-rtc BOOL Control whether RTC is in local time
set-ntp BOOL Control whether NTP is enabled
[root@mini-1 ~]#
-
选项
-h
, --help
--version
--no-pager
不将程序的输出内容管道(pipe)给分页程序。
--no-ask-password
在执行特权操作时 不向用户索要密码。
-H
, --host=
操作指定的远程主机。可以仅指定一个主机名(hostname), 也可以使用 "username@hostname
" 格式。 hostname 后面还可以加上 SSH监听端口(以冒号":
"分隔)与容器名(以正斜线"/
"分隔), 也就是形如 "hostname:port/container
" 的格式, 以表示直接连接到指定主机的指定容器内。 操作将通过SSH协议进行,以确保安全。 可以通过machinectl -H HOST
命令列出远程主机上的所有容器名称。IPv6地址必须放在方括号([])内。
-M
, --machine=
--adjust-system-clock
当使用 set-local-rtc 命令时, 若使用了此选项, 则表示根据RTC时间来更新系统时钟。 若未使用此选项, 则表示根据系统时钟来更新RTC时间。
-
命令
status
查看现在的时间设置,timedatectl status 与 timedatectl 效果一致。
set-time 【TIME】
设置系统时间。前提是先关闭时间同步,否则设置失败。[TIME] 是一个形如 "2012-10-30 18:17:16"的时间字符串。
设置时间:timedatectl set-time HH:MM:SS
设置日期:timedatectl set-time YYYY-MM-DD
设置日期时间:timedatectl set-time “YYYY-MM-DD HH:MM:SS”
set-timezone 【ZONE】
设置系统时区, 也就是更新 /etc/localtime
软连接的指向。 可以用下面的 list-timezones 命令列出所有可用时区。 如果RTC被设为本地时间, 此命令还会同时更新RTC时间。
list-timezones
列出所有可用时区,每行一个。 列出的值可以用作前述 set-timezone 命令的参数。
set-local-rtc 【BOOL】
设为 "no
" 表示在RTC中存储UTC时间; 设为 "yes
" 表示在RTC中存储本地时间。 应该尽一切可能在RTC中存储UTC时间。 尽量不要在RTC中存储本地时间, 因为这会造成一系列麻烦, 尤其是在切换时区以及调整夏令时或冬令时的时候。 注意, 除非明确使用了 --adjust-system-clock
选项, 否则此命令还会同时用系统时钟更新RTC时间。 此命令还会改变 /etc/adjtime
文件第三行的内容。
设置硬件时钟为本地时间:timedatectl set-local-rtc 1
设置硬件时钟为UTC时间:timedatectl set-local-rtc 0
set-ntp 【BOOL】
设置 NTP 同步,也是开启或关闭 NTP 或 chrony 服务。
启动NTP时间同步:timedatectl set-ntp true
禁用NTP时间同步:timedatectl set-ntp false
例子
查看当前系统时区
[root@mini-1 ~]# timedatectl
Local time: Sun 2020-07-26 21:01:43 CST
Universal time: Sun 2020-07-26 13:01:43 UTC
RTC time: Sun 2020-07-26 13:01:43
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
[root@mini-1 ~]#
查看所有时区(以上海为例)
[root@mini-1 ~]# timedatectl list-timezones | egrep -i shanghai
Asia/Shanghai
[root@mini-1 ~]#
设置时间注意,需要先把 ntp 同步关了
[root@mini-1 ~]# date
Sun Jul 26 16:27:06 CST 2020
[root@mini-1 ~]# timedatectl set-time 15:00
Failed to set time: Automatic time synchronization is enabled
[root@mini-1 ~]# timedatectl set-ntp false
[root@mini-1 ~]# timedatectl set-time 15:00
[root@mini-1 ~]# date
Sun Jul 26 15:00:02 CST 2020
[root@mini-1 ~]#