How To Set Up Time Synchronization on Ubuntu?

How To Set Up Time Synchronization on Ubuntu?

Your Ubuntu machine’s clock needs to stay correct, and the time zone setting only changes how that time is displayed. Time synchronization corrects the clock itself by checking it against time servers on the network, through a time client such as chrony.

You’ll find which time client your system runs and set it up.

What is time synchronization on Ubuntu?

Time synchronization adjusts Ubuntu’s system clock against network time sources. The time zone changes how that clock is displayed, while synchronization corrects the clock itself.

Ubuntu delegates this work to a time client such as systemd-timesyncd or chrony. Only one time daemon should manage the system clock, so start by finding the active provider rather than installing another one.

SettingWhat it changes
Time zoneHow the clock is displayed locally.
Time synchronizationThe system clock’s alignment with network time sources.

Prerequisites

You need a shell account with sudo access to install packages or change system configuration. The commands below use Ubuntu’s systemd tools and current Ubuntu documentation.

  • Know whether you are configuring a local machine or a server, because a machine that serves time to other hosts needs additional configuration.
  • Keep the current time daemon in place unless you have chosen to replace it.

Set up the active Ubuntu time client

Check the installed provider before changing anything, since current Ubuntu releases use chrony by default from Ubuntu 25.10 while the systemd-timesyncd path remains available.

Step 1: Check the current synchronization status

To identify the provider, ask systemd whether each service is active. An inactive result for chrony is not an error when systemd-timesyncd is the client.

systemctl is-active chrony
systemctl is-active systemd-timesyncd

Then run timedatectl status and read both the daemon state and synchronization result rather than treating an active NTP service as proof that the clock is synced.

timedatectl status

If the output already says “System clock synchronized: yes,” the machine is synchronized. If NTP is inactive, enable the client that is already installed instead of installing a second time daemon.

Step 2: Enable systemd-timesyncd when it is your selected client

Use this path when systemd-timesyncd is installed and is the intended time client. The timedatectl switch enables network synchronization, but it does not accept a server hostname.

sudo timedatectl set-ntp true

If Ubuntu reports that no NTP service is available, install systemd-timesyncd only after checking that chrony is not the provider you want to keep. Ubuntu documents this package command for the timesyncd route:

sudo apt install systemd-timesyncd

Package installation can alter which time service is installed, so inspect timedatectl status again before continuing. Use the apt command reference if you need help with package installation.

Step 3: Configure a time server only when you need a custom one

systemd-timesyncd reads server settings from /etc/systemd/timesyncd.conf and drop-in files under /etc/systemd/timesyncd.conf.d/. The NTP= setting under [Time] takes server names, and a changed configuration requires a service restart.

sudo systemctl restart systemd-timesyncd

The Ubuntu timesyncd documentation defines space-separated server lists for NTP= and FallbackNTP=, so leave the default configuration in place when it already meets your needs.

Step 4: Use chrony when it is the installed or chosen client

Chrony is the default time client on Ubuntu 25.10 and later. When it is installed, let it manage synchronization instead of enabling systemd-timesyncd beside it.

Chrony’s service is named chrony and its client utility is chronyc, which Ubuntu’s current guide uses to inspect the daemon’s state and selected source.

Verify synchronization with timedatectl and chronyc

After enabling the client, timedatectl status should report “System clock synchronized: yes” alongside “NTP service: active,” which I saw when I ran it.

timedatectl status showing the system clock synchronized and NTP service active
The status distinguishes an active NTP service from a synchronized system clock.

The screenshot shows both fields on a synchronized system. If chrony is your client, use its commands for the selected source and tracking details:

chronyc -N sources
chronyc -N tracking

In the sources list, the ^* marker identifies the selected source. Tracking reports the reference and clock offset, which helps diagnose an unsynchronized clock.

When the clock stays unsynchronized

Before changing the system clock by hand, check which daemon owns timekeeping and whether it has a usable network source. An active service can still leave the clock unsynchronized.

Observed statusWhat to check
NTP service inactiveConfirm the intended client is installed, then enable that client.
NTP active, synchronized noCheck the selected daemon’s service and source state.
Both chrony and timesyncd installedChoose one provider and avoid running competing clients.
Clock display differs by locationCheck the time zone separately from synchronization.

For systemd-timesyncd, inspect its service logs and state with systemctl. For service-management basics, see the Linux service command guide.

systemctl status systemd-timesyncd

If chrony is active, use chronyc rather than starting timesyncd, and check both the daemon status and selected sources before editing configuration.

A time-zone mismatch is not a synchronization failure, so use the Ubuntu time-zone instructions to change the displayed zone without changing the network client.

Keep one daemon responsible for the clock

Time setup stays predictable when one client owns synchronization and you verify its own status. Check the service first, then change only the setting that explains the observed state.

timedatectl status

Ubuntu time synchronization questions

Does timedatectl set-ntp choose an NTP server?

No. The set-ntp option enables or disables network time synchronization. Configure a server through the selected daemon’s configuration, such as /etc/systemd/timesyncd.conf for systemd-timesyncd.

How can I tell whether Ubuntu synchronized its clock?

Run timedatectl status and look for System clock synchronized: yes. If chrony is active, use chronyc -N sources and chronyc -N tracking for source and tracking details.

Should I run chrony and systemd-timesyncd together?

No. Use one time daemon to manage the system clock. Ubuntu’s timedatectl documentation says it steps back when chrony is installed, avoiding conflicting time services.