systemd-timesyncd.service
systemd
systemd-timesyncd.service
8
systemd-timesyncd.service
systemd-timesyncd
Network Time Synchronization
systemd-timesyncd.service
/usr/lib/systemd/systemd-timesyncd
Description
systemd-timesyncd is a system service that may be used to synchronize the
local system clock with a remote Network Time Protocol (NTP) server. It also saves the local time to disk
every time the clock has been synchronized and uses this to possibly advance the system realtime clock on
subsequent reboots to ensure it (roughly) monotonically advances even if the system lacks a
battery-buffered RTC chip.
The systemd-timesyncd service implements SNTP only. This minimalistic service
will step the system clock for large offsets or slowly adjust it for smaller deltas. Complex use cases
that require full NTP support (and where SNTP is not sufficient) are not covered by
systemd-timesyncd.
The NTP servers contacted are determined from the global settings in
timesyncd.conf5, the
per-link static settings in .network files, and the per-link dynamic settings
received over DHCP. See
systemd.network5 for
further details.
timedatectl1's
set-ntp command may be used to enable and start, or disable and stop this
service.
timedatectl1's
timesync-status or show-timesync command can be used to show the
current status of this service.
systemd-timesyncd initialization delays the start of units that are ordered
after time-set.target (see
systemd.special7 for
details) until the local time has been updated from /var/lib/systemd/timesync/clock
(see below) in order to make it roughly monotonic. It does not delay other units until synchronization
with an accurate reference time sources has been reached. Use
systemd-time-wait-sync.service8
to achieve that, which will delay start of units that are ordered after
time-sync.target until synchronization to an accurate reference clock is
reached.
systemd and systemd-timesyncd advance the system clock to
the "epoch" (the lowest date above which the system clock time is assumed to be set correctly). See
"System clock epoch" section in
systemd1 for details.
systemd will set the clock when initializing, but
/var/lib/systemd/timesync/clock might not yet be available at that point.
systemd-timesyncd will advance the clock when it is started and notices that the
system clock is before the modification time of /var/lib/systemd/timesync/clock.
Files
/var/lib/systemd/timesync/clock
The modification time ("mtime") of this file is updated on each successful NTP
synchronization or after each SaveIntervalSec= time interval, as specified in
timesyncd.conf5.
If present, the modification time of this file is used for the epoch by
systemd1 and
systemd-timesyncd.service.
/run/systemd/timesync/synchronized
A file that is touched on each successful synchronization to assist
systemd-time-wait-sync and other applications in detecting synchronization to
an accurate reference clock.
See Also
systemd1
timesyncd.conf5
systemd.network5
systemd-networkd.service8
systemd-time-wait-sync.service8
systemd.special7
timedatectl1
localtime5
hwclock8