1TIMEDATECTL(1) timedatectl TIMEDATECTL(1)
2
3
4
6 timedatectl - Control the system time and date
7
9 timedatectl [OPTIONS...] {COMMAND}
10
12 timedatectl may be used to query and change the system clock and its
13 settings, and enable or disable time synchronization services.
14
15 Use systemd-firstboot(1) to initialize the system time zone for mounted
16 (but not booted) system images.
17
18 timedatectl may be used to show the current status of time
19 synchronization services, for example systemd-timesyncd.service(8).
20
22 The following commands are understood:
23
24 status
25 Show current settings of the system clock and RTC, including
26 whether network time synchronization is active. If no command is
27 specified, this is the implied default.
28
29 show
30 Show the same information as status, but in machine readable form.
31 This command is intended to be used whenever computer-parsable
32 output is required. Use status if you are looking for formatted
33 human-readable output.
34
35 By default, empty properties are suppressed. Use --all to show
36 those too. To select specific properties to show, use --property=.
37
38 set-time [TIME]
39 Set the system clock to the specified time. This will also update
40 the RTC time accordingly. The time may be specified in the format
41 "2012-10-30 18:17:16".
42
43 set-timezone [TIMEZONE]
44 Set the system time zone to the specified value. Available
45 timezones can be listed with list-timezones. If the RTC is
46 configured to be in the local time, this will also update the RTC
47 time. This call will alter the /etc/localtime symlink. See
48 localtime(5) for more information.
49
50 list-timezones
51 List available time zones, one per line. Entries from the list can
52 be set as the system timezone with set-timezone.
53
54 set-local-rtc [BOOL]
55 Takes a boolean argument. If "0", the system is configured to
56 maintain the RTC in universal time. If "1", it will maintain the
57 RTC in local time instead. Note that maintaining the RTC in the
58 local timezone is not fully supported and will create various
59 problems with time zone changes and daylight saving adjustments. If
60 at all possible, keep the RTC in UTC mode. Note that invoking this
61 will also synchronize the RTC from the system clock, unless
62 --adjust-system-clock is passed (see above). This command will
63 change the 3rd line of /etc/adjtime, as documented in hwclock(8).
64
65 set-ntp [BOOL]
66 Takes a boolean argument. Controls whether network time
67 synchronization is active and enabled (if available). If the
68 argument is true, this enables and starts the first existing
69 network synchronization service. If the argument is false, then
70 this disables and stops the known network synchronization services.
71 The way that the list of services is built is described below.
72
73 systemd-timesyncd Commands
74 The following commands are specific to systemd-timesyncd.service(8).
75
76 timesync-status
77 Show current status of systemd-timesyncd.service(8). If --monitor
78 is specified, then this will monitor the status updates.
79
80 show-timesync
81 Show the same information as timesync-status, but in machine
82 readable form. This command is intended to be used whenever
83 computer-parsable output is required. Use timesync-status if you
84 are looking for formatted human-readable output.
85
86 By default, empty properties are suppressed. Use --all to show
87 those too. To select specific properties to show, use --property=.
88
89 ntp-servers INTERFACE SERVER...
90 Set the interface specific NTP servers. This command can be used
91 only when the interface is managed by systemd-networkd.
92
93 revert INTERFACE
94 Revert the interface specific NTP servers. This command can be used
95 only when the interface is managed by systemd-networkd.
96
98 The following options are understood:
99
100 --no-ask-password
101 Do not query the user for authentication for privileged operations.
102
103 --adjust-system-clock
104 If set-local-rtc is invoked and this option is passed, the system
105 clock is synchronized from the RTC again, taking the new setting
106 into account. Otherwise, the RTC is synchronized from the system
107 clock.
108
109 --monitor
110 If timesync-status is invoked and this option is passed, then
111 timedatectl monitors the status of systemd-timesyncd.service(8) and
112 updates the outputs. Use Ctrl+C to terminate the monitoring.
113
114 -a, --all
115 When showing properties of systemd-timesyncd.service(8), show all
116 properties regardless of whether they are set or not.
117
118 -p, --property=
119 When showing properties of systemd-timesyncd.service(8), limit
120 display to certain properties as specified as argument. If not
121 specified, all set properties are shown. The argument should be a
122 property name, such as "ServerName". If specified more than once,
123 all properties with the specified names are shown.
124
125 --value
126 When printing properties with show-timesync, only print the value,
127 and skip the property name and "=".
128
129 -H, --host=
130 Execute the operation remotely. Specify a hostname, or a username
131 and hostname separated by "@", to connect to. The hostname may
132 optionally be suffixed by a port ssh is listening on, separated by
133 ":", and then a container name, separated by "/", which connects
134 directly to a specific container on the specified host. This will
135 use SSH to talk to the remote machine manager instance. Container
136 names may be enumerated with machinectl -H HOST. Put IPv6 addresses
137 in brackets.
138
139 -M, --machine=
140 Execute operation on a local container. Specify a container name to
141 connect to, optionally prefixed by a user name to connect as and a
142 separating "@" character. If the special string ".host" is used in
143 place of the container name, a connection to the local system is
144 made (which is useful to connect to a specific user's user bus:
145 "--user --machine=lennart@.host"). If the "@" syntax is not used,
146 the connection is made as root user. If the "@" syntax is used
147 either the left hand side or the right hand side may be omitted
148 (but not both) in which case the local user name and ".host" are
149 implied.
150
151 -h, --help
152 Print a short help text and exit.
153
154 --version
155 Print a short version string and exit.
156
157 --no-pager
158 Do not pipe output into a pager.
159
161 On success, 0 is returned, a non-zero failure code otherwise.
162
164 $SYSTEMD_LOG_LEVEL
165 The maximum log level of emitted messages (messages with a higher
166 log level, i.e. less important ones, will be suppressed). Either
167 one of (in order of decreasing importance) emerg, alert, crit, err,
168 warning, notice, info, debug, or an integer in the range 0...7. See
169 syslog(3) for more information.
170
171 $SYSTEMD_LOG_COLOR
172 A boolean. If true, messages written to the tty will be colored
173 according to priority.
174
175 This setting is only useful when messages are written directly to
176 the terminal, because journalctl(1) and other tools that display
177 logs will color messages based on the log level on their own.
178
179 $SYSTEMD_LOG_TIME
180 A boolean. If true, log messages will be prefixed with a timestamp.
181
182 This setting is only useful when messages are written directly to
183 the terminal or a file, because journalctl(1) and other tools that
184 display logs will attach timestamps based on the entry metadata on
185 their own.
186
187 $SYSTEMD_LOG_LOCATION
188 A boolean. If true, messages will be prefixed with a filename and
189 line number in the source code where the message originates.
190
191 Note that the log location is often attached as metadata to journal
192 entries anyway. Including it directly in the message text can
193 nevertheless be convenient when debugging programs.
194
195 $SYSTEMD_LOG_TID
196 A boolean. If true, messages will be prefixed with the current
197 numerical thread ID (TID).
198
199 Note that the this information is attached as metadata to journal
200 entries anyway. Including it directly in the message text can
201 nevertheless be convenient when debugging programs.
202
203 $SYSTEMD_LOG_TARGET
204 The destination for log messages. One of console (log to the
205 attached tty), console-prefixed (log to the attached tty but with
206 prefixes encoding the log level and "facility", see syslog(3), kmsg
207 (log to the kernel circular log buffer), journal (log to the
208 journal), journal-or-kmsg (log to the journal if available, and to
209 kmsg otherwise), auto (determine the appropriate log target
210 automatically, the default), null (disable log output).
211
212 $SYSTEMD_PAGER
213 Pager to use when --no-pager is not given; overrides $PAGER. If
214 neither $SYSTEMD_PAGER nor $PAGER are set, a set of well-known
215 pager implementations are tried in turn, including less(1) and
216 more(1), until one is found. If no pager implementation is
217 discovered no pager is invoked. Setting this environment variable
218 to an empty string or the value "cat" is equivalent to passing
219 --no-pager.
220
221 $SYSTEMD_LESS
222 Override the options passed to less (by default "FRSXMK").
223
224 Users might want to change two options in particular:
225
226 K
227 This option instructs the pager to exit immediately when Ctrl+C
228 is pressed. To allow less to handle Ctrl+C itself to switch
229 back to the pager command prompt, unset this option.
230
231 If the value of $SYSTEMD_LESS does not include "K", and the
232 pager that is invoked is less, Ctrl+C will be ignored by the
233 executable, and needs to be handled by the pager.
234
235 X
236 This option instructs the pager to not send termcap
237 initialization and deinitialization strings to the terminal. It
238 is set by default to allow command output to remain visible in
239 the terminal even after the pager exits. Nevertheless, this
240 prevents some pager functionality from working, in particular
241 paged output cannot be scrolled with the mouse.
242
243 See less(1) for more discussion.
244
245 $SYSTEMD_LESSCHARSET
246 Override the charset passed to less (by default "utf-8", if the
247 invoking terminal is determined to be UTF-8 compatible).
248
249 $SYSTEMD_PAGERSECURE
250 Takes a boolean argument. When true, the "secure" mode of the pager
251 is enabled; if false, disabled. If $SYSTEMD_PAGERSECURE is not set
252 at all, secure mode is enabled if the effective UID is not the same
253 as the owner of the login session, see geteuid(2) and
254 sd_pid_get_owner_uid(3). In secure mode, LESSSECURE=1 will be set
255 when invoking the pager, and the pager shall disable commands that
256 open or create new files or start new subprocesses. When
257 $SYSTEMD_PAGERSECURE is not set at all, pagers which are not known
258 to implement secure mode will not be used. (Currently only less(1)
259 implements secure mode.)
260
261 Note: when commands are invoked with elevated privileges, for
262 example under sudo(8) or pkexec(1), care must be taken to ensure
263 that unintended interactive features are not enabled. "Secure" mode
264 for the pager may be enabled automatically as describe above.
265 Setting SYSTEMD_PAGERSECURE=0 or not removing it from the inherited
266 environment allows the user to invoke arbitrary commands. Note that
267 if the $SYSTEMD_PAGER or $PAGER variables are to be honoured,
268 $SYSTEMD_PAGERSECURE must be set too. It might be reasonable to
269 completely disable the pager using --no-pager instead.
270
271 $SYSTEMD_COLORS
272 Takes a boolean argument. When true, systemd and related utilities
273 will use colors in their output, otherwise the output will be
274 monochrome. Additionally, the variable can take one of the
275 following special values: "16", "256" to restrict the use of colors
276 to the base 16 or 256 ANSI colors, respectively. This can be
277 specified to override the automatic decision based on $TERM and
278 what the console is connected to.
279
280 $SYSTEMD_URLIFY
281 The value must be a boolean. Controls whether clickable links
282 should be generated in the output for terminal emulators supporting
283 this. This can be specified to override the decision that systemd
284 makes based on $TERM and other conditions.
285
287 Show current settings:
288
289 $ timedatectl
290 Local time: Thu 2017-09-21 16:08:56 CEST
291 Universal time: Thu 2017-09-21 14:08:56 UTC
292 RTC time: Thu 2017-09-21 14:08:56
293 Time zone: Europe/Warsaw (CEST, +0200)
294 System clock synchronized: yes
295 NTP service: active
296 RTC in local TZ: no
297
298 Enable network time synchronization:
299
300 $ timedatectl set-ntp true
301 ==== AUTHENTICATING FOR org.freedesktop.timedate1.set-ntp ===
302 Authentication is required to control whether network time synchronization shall be enabled.
303 Authenticating as: user
304 Password: ********
305 ==== AUTHENTICATION COMPLETE ===
306
307
308
309 $ systemctl status systemd-timesyncd.service
310 ● systemd-timesyncd.service - Network Time Synchronization
311 Loaded: loaded (/usr/lib/systemd/system/systemd-timesyncd.service; enabled)
312 Active: active (running) since Mo 2015-03-30 14:20:38 CEST; 5s ago
313 Docs: man:systemd-timesyncd.service(8)
314 Main PID: 595 (systemd-timesyn)
315 Status: "Using Time Server 216.239.38.15:123 (time4.google.com)."
316 CGroup: /system.slice/systemd-timesyncd.service
317 └─595 /usr/lib/systemd/systemd-timesyncd
318 ...
319
320 Show current status of systemd-timesyncd.service(8):
321
322 $ timedatectl timesync-status
323 Server: 216.239.38.15 (time4.google.com)
324 Poll interval: 1min 4s (min: 32s; max 34min 8s)
325 Leap: normal
326 Version: 4
327 Stratum: 1
328 Reference: GPS
329 Precision: 1us (-20)
330 Root distance: 335us (max: 5s)
331 Offset: +316us
332 Delay: 349us
333 Jitter: 0
334 Packet count: 1
335 Frequency: -8.802ppm
336
337
339 systemd(1), hwclock(8), date(1), localtime(5), systemctl(1), systemd-
340 timedated.service(8), systemd-timesyncd.service(8), systemd-
341 firstboot(1)
342
343
344
345systemd 248 TIMEDATECTL(1)