1 | timedatectl
|
2 | ===
|
3 |
|
4 | 用于在 Linux 中设置或查询系统时间、日期和时区等配置。
|
5 |
|
6 | ## 补充说明
|
7 |
|
8 | 在 Linux 运维中,通常使用此命令来设置或更改当前的日期、时间和时区,或启用自动系统时钟与远程 NTP 服务器同步,以确保 Linux 系统始终保持正确的时间。
|
9 |
|
10 | ## 概要
|
11 |
|
12 | ```shell
|
13 | timedatectl [OPTIONS...] COMMAND ...
|
14 | ```
|
15 |
|
16 | ## 主要用途
|
17 |
|
18 | - 转换时间到选定的格式,默认为当前。
|
19 | - 设置系统时间。
|
20 |
|
21 | ## 参数
|
22 |
|
23 | ```shell
|
24 | Query or change system time and date settings.
|
25 |
|
26 | -h --help 显示帮助信息。
|
27 | --version 显示软件包版本。
|
28 | --no-pager 不用将输出通过管道传输到寻呼机(pager)。
|
29 | --no-ask-password 不提示输入密码。
|
30 | -H --host=[USER@]HOST 在远程主机上操作
|
31 | -M --machine=CONTAINER 在本地容器上操作。
|
32 | --adjust-system-clock 更改本地 RTC 模式时调整系统时钟。
|
33 | --monitor 监控systemd-timesyncd的状态
|
34 | -p --property=NAME 仅显示此名称的属性
|
35 | -a --all 显示所有属性,包括空属性
|
36 | --value 显示属性时,只打印值
|
37 |
|
38 | Commands:
|
39 | status 显示当前的时间设置。
|
40 | set-time TIME 设置系统时间。
|
41 | set-timezone ZONE 设置系统时区。
|
42 | list-timezones 显示已知时区。
|
43 | set-local-rtc BOOL 控制 RTC 是否在当地时间。(BOOL 的值可以是 1 / true 或 0 / false)
|
44 | set-ntp BOOL 启用或禁用网络时间同步。(BOOL 的值可以是 1 / true 或 0 / false)
|
45 | timesync-status 显示 systemd-timesyncd 的状态。
|
46 | show-timesync 显示 systemd-timesyncd 的属性。
|
47 | ```
|
48 |
|
49 | ## 例子
|
50 |
|
51 | 显示系统当前时间和日期
|
52 |
|
53 | ```shell
|
54 | $ timedatectl status
|
55 | Local time: 五 2022-04-08 17:06:40 CST
|
56 | Universal time: 五 2022-04-08 09:06:40 UTC
|
57 | RTC time: 五 2022-04-08 17:04:02
|
58 | Time zone: Asia/Shanghai (CST, +0800)
|
59 | NTP enabled: n/a
|
60 | NTP synchronized: no
|
61 | RTC in local TZ: yes
|
62 | DST active: n/a
|
63 | ```
|
64 |
|
65 | 显示系统所有可用的时区
|
66 |
|
67 | ```shell
|
68 | $ timedatectl show
|
69 | Unknown operation show
|
70 | $ timedatectl list-timezones
|
71 | Africa/Abidjan
|
72 | Africa/Accra
|
73 | Africa/Addis_Ababa
|
74 | ```
|
75 |
|
76 | 将本地时区从上海(Asia/Shanghai)设置为阿姆斯特丹(Europe/Amsterdam)
|
77 |
|
78 | ```shell
|
79 | $ timedatectl set-timezone "Europe/Amsterdam"
|
80 | ```
|
81 |
|
82 | 将本地时区设置为协调世界时(UTC)
|
83 |
|
84 | ```shell
|
85 | $ timedatectl set-timezone UTC
|
86 | ```
|
87 |
|
88 | 设置系统时间(格式:HH:MM:SS)
|
89 |
|
90 | ```shell
|
91 | $ timedatectl set-time "07:25:46"
|
92 | ```
|
93 |
|
94 | 设置系统日期(格式:YYYY-MM-DD)
|
95 |
|
96 | ```shell
|
97 | $ timedatectl set-time "2021-12-12"
|
98 | ```
|
99 |
|
100 | 如果只设置日期,那么时间将默认设置为 “00:00:00″(建议同时设置日期和时间)
|
101 |
|
102 | ```shell
|
103 | $ timedatectl set-time "2021-12-12 07:25:46"
|
104 | ```
|
105 |
|
106 | 将硬件时钟(RTC)设置为本地时区(不建议,RTC 时钟统一使用 UTC 更恰当,避免在时区更改和夏令时调整方面产生各种问题)
|
107 |
|
108 | ```shell
|
109 | $ timedatectl set-local-rtc 1
|
110 | ```
|
111 |
|
112 | 将硬件时钟(RTC)设置为协调世界时间(UTC)
|
113 |
|
114 | ```shell
|
115 | $ timedatectl set-local-rtc 0
|
116 | ```
|
117 |
|
118 | 启用 NTP 自动时间同步
|
119 |
|
120 | ```shell
|
121 | $ timedatectl set-ntp true
|
122 | ```
|
123 |
|
124 | 禁用 NTP 自动时间同步
|
125 |
|
126 | ```shell
|
127 | $ timedatectl set-ntp false
|
128 | ```
|
129 |
|
130 | 查看 systemd-timesyncd 服务的状态
|
131 |
|
132 | ```shell
|
133 | $ timedatectl timesync-status
|
134 | Server: 91.189.94.4 (ntp.ubuntu.com)
|
135 | Poll interval: 17min 4s (min: 32s; max 34min 8s)
|
136 | Leap: normal
|
137 | Version: 4
|
138 | Stratum: 2
|
139 | Reference: 91EECB0E
|
140 | Precision: 1us (-23)
|
141 | Root distance: 29.922ms (max: 5s)
|
142 | Offset: +2.497ms
|
143 | Delay: 199.540ms
|
144 | Jitter: 5.834ms
|
145 | Packet count: 6
|
146 | Frequency: +13.039ppm
|
147 | ```
|
148 |
|
149 | `systemd-timedated` 可能默认配置了谷歌的 NTP 服务器(如 time1.google.com),为了顺利完成网络时间同步,您可以编辑 `/etc/systemd/timesyncd.conf` 文件添加自己的 NTP 服务器地址。
|