Driver FixRecommendedSound, Wi-Fi or graphics acting up? Check drivers firstFind missing or outdated drivers fast.Check DriversOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix Now×
Skip to content
VGSources
Blog

How to Set Up Time Synchronization on a Linux VPS (timesyncd or chrony)

A practical Linux VPS guide to choosing one time daemon, configuring NTP sources, enabling synchronization and verifying that the clock is actually tracking a reachable server.
Length8 min Posted Quest giverVGSources Team
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The reliable way to synchronize a Linux VPS is to run one time daemon, not several. First inspect the services already installed, then choose systemd-timesyncd for a simple SNTP client or chrony for Ubuntu’s current default and more advanced NTP requirements. Configure that daemon’s sources, enable only it, and verify both the system-wide state and daemon-specific tracking.

Why accurate time matters on a VPS

A VPS uses its system clock for timestamps in logs, scheduled jobs, monitoring, certificates, authentication, databases and distributed services. A clock that drifts or jumps can make events appear out of order, cause time-sensitive credentials to fail, or make incident diagnosis unnecessarily difficult. Synchronization does not mean choosing a timezone: NTP keeps the machine’s clock aligned with reference servers, while the timezone only controls how that time is displayed.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The commands below use Debian/Ubuntu package names and paths. The exact default daemon depends on the distribution and release. In particular, Ubuntu documents chrony as the default synchronization service starting with Ubuntu 25.10; older releases and other distributions may use systemd-timesyncd or another service.

Prerequisites and the one-daemon rule

  • Have root or sudo access.
  • Know the VPS distribution and release, because package names, defaults and configuration paths can differ.
  • Ensure the VPS can resolve the configured NTP hostnames and send outbound UDP traffic on port 123.
  • Choose one process to control the system clock. Do not leave chrony and systemd-timesyncd actively synchronizing at the same time.

Installing a second client does not automatically make synchronization more reliable. Two daemons can make competing adjustments and make the status output misleading. Inspect the current state before installing or enabling anything.

Inspect the existing clock and daemons

Run the following as an administrator:

timedatectl status
systemctl status systemd-timesyncd --no-pager
systemctl status chrony --no-pager

timedatectl status displays local, universal and hardware-clock time, the configured timezone, whether the system clock is synchronized, and whether an NTP service is active. For scripts or monitoring, timedatectl show provides machine-readable properties instead of the human-oriented status display.

A service can be installed without being enabled, and a service can be running without having successfully reached a server. Read the daemon-specific output rather than treating an installed package as proof that the clock is synchronized.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

timedatectl set-ntp true enables the systemd time service that timedatectl controls. It does not disable an unrelated time daemon, so using it by itself is not a complete conflict-resolution procedure.

Choose between systemd-timesyncd and chrony

Consideration systemd-timesyncd chrony
Role Minimal SNTP client Full NTP implementation with client and server capabilities
Best fit A basic VPS that only needs to follow upstream time Ubuntu’s current default, variable network conditions, detailed control, or serving time to other machines
Configuration /etc/systemd/timesyncd.conf, drop-ins, DHCP and per-link settings The distribution’s chrony configuration and source files
Primary checks timedatectl, service status and timedatectl timesync-status timedatectl, chronyc -N tracking and chronyc sources -v

Systemd’s documentation describes timesyncd as implementing SNTP only. It steps the clock for a large offset and slowly adjusts smaller differences. Chrony continuously works on drift and offset, which is useful when avoiding disruptive clock jumps is important to log ordering or other services.

For Ubuntu 25.10 and later, start with chrony unless you have a specific reason to use timesyncd. On a simpler installation where only an SNTP client is needed, timesyncd is an appropriate choice when the distribution supplies it.

Option A: configure systemd-timesyncd

Install and enable the service

Use this procedure on a distribution that provides the package. On Ubuntu or another APT-based system:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
sudo apt update
sudo apt install systemd-timesyncd
sudo timedatectl set-ntp true
sudo systemctl enable --now systemd-timesyncd

If chrony or another daemon is currently active, stop and disable that daemon before making timesyncd the sole controller. For example, when chrony is the unwanted service:

sudo systemctl disable --now chrony

Do not run that command if chrony is the daemon you intentionally selected. The objective is one active synchronizer, not a particular service name.

Set NTP servers

Edit the main configuration file or create a drop-in directory and file:

sudo editor /etc/systemd/timesyncd.conf

A minimal configuration is:

[Time]
NTP=ntp.ubuntu.com
FallbackNTP=pool.ntp.org

NTP= and FallbackNTP= accept space-separated lists. Put preferred servers in NTP= and reserve fallback hosts for use when the preferred list cannot be reached. A drop-in under /etc/systemd/timesyncd.conf.d/ can hold local overrides without editing the vendor-supplied file.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Timesyncd can also obtain servers from per-link .network settings and DHCP. Consequently, a server shown in status output may come from the network configuration rather than the two lines above. If you need deterministic sources, inspect those inputs and define the intended list explicitly.

Apply and verify the timesyncd configuration

After changing a file, restart the service so it rereads the configuration:

sudo systemctl restart systemd-timesyncd

Check the high-level state and then the service’s own evidence:

timedatectl status
systemctl status systemd-timesyncd --no-pager
timedatectl timesync-status

A healthy result should show that the system clock is synchronized, an NTP service is active, and a server has been contacted. The timesync-specific view is useful because it identifies the selected server and the current synchronization state, while timedatectl status gives the broader clock and timezone context.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

If the service is active but no synchronization is reported, do not keep changing the clock manually. Check name resolution, routing and the VPS firewall first, then inspect the service status again.

Option B: configure chrony

Install and enable chrony

For current Ubuntu releases, install the package and enable its service:

sudo apt update
sudo apt install chrony
sudo systemctl enable --now chrony

Before enabling it, stop an actively running timesyncd instance if that is the daemon you are replacing:

sudo systemctl disable --now systemd-timesyncd

Ubuntu documents that timedatectl steps aside when chrony is installed, preventing the systemd time service from competing with chrony. Still inspect both services after a change, because a package may remain installed even when it is no longer enabled.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Keep the distribution’s source configuration unless you have a reason to change it

Chrony’s source list is distribution-managed. Ubuntu documents source files under /etc/chrony/sources.d/, including its NTS-enabled pools. Retaining those files preserves the release’s intended source selection and security settings. Change them only when your environment requires a particular internal server, a policy-approved pool, or another documented source.

Do not copy a timesyncd configuration into chrony’s files: the directives and configuration formats are different. If you do add a source, make the change in the chrony configuration location used by your release and then restart or reload chrony according to that release’s service instructions.

Verify chrony’s tracking and sources

timedatectl status
chronyc -N tracking
chronyc sources -v

chronyc -N tracking reports chrony’s tracking record. Typical output includes a reference ID, stratum and the UTC time of the current reference measurement. chronyc sources -v shows the source candidates and selection state, which helps distinguish “chrony is running” from “chrony has a usable upstream.”

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Chrony is designed to adjust drift and offset continuously rather than routinely making large, disruptive corrections. That behavior is useful on VPS workloads where a sudden timestamp jump could complicate logs or time-sensitive services, although an initially large error may still require a correction.

How to tell whether synchronization is actually working

Use two levels of evidence:

  1. System-wide state: timedatectl status should indicate that the system clock is synchronized and an NTP service is active.
  2. Daemon-specific state: use timedatectl timesync-status for timesyncd, or chronyc -N tracking and chronyc sources -v for chrony.

A running process alone is insufficient. A daemon can be enabled and continuously retrying while DNS, routing or a firewall prevents it from reaching any source. Conversely, a previously synchronized clock can remain close to correct for a while after connectivity is lost, so check the daemon’s current source and tracking information.

For automated checks, timedatectl show is preferable to parsing the formatted status screen. Record the properties your monitoring system needs and alert when synchronization is lost, rather than alerting merely because a package is present.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Troubleshoot a VPS that will not synchronize

“NTP service: inactive”

Identify the daemon you intend to use, then enable only that service. If you chose timesyncd, run sudo systemctl enable --now systemd-timesyncd. If you chose chrony, run sudo systemctl enable --now chrony. Recheck timedatectl status and the daemon-specific command after enabling it.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The service is active but the clock is not synchronized

  • Read the relevant service status output for connection or configuration errors.
  • Confirm that every configured hostname resolves from the VPS.
  • Confirm that the VPS has a working route to the internet or to the specified internal NTP server.
  • Check egress filtering and host or provider firewalls for outbound UDP port 123.
  • Verify that the configured source names are valid and that a fallback source exists where appropriate.

Do not infer UDP reachability from a successful web request: NTP uses UDP 123, and a server can allow HTTP while blocking NTP.

Both daemons appear installed

Installation is not the same as control. Use systemctl status for both services, then disable and stop the one you did not select. On Ubuntu, chrony’s presence causes timedatectl to step aside, but an explicit check is still worthwhile after package changes or a distribution upgrade.

The clock is far from correct after boot

Timesyncd steps the clock for large offsets and gradually adjusts smaller deltas. Chrony normally disciplines drift and offset continuously. Allow the selected daemon to establish a source before judging the result, and inspect its tracking output rather than repeatedly setting the clock by hand. Manual changes can obscure whether the underlying network or source problem has been fixed.

You need a one-shot chrony correction or check

Ubuntu’s time-synchronization documentation describes chronyd -q and chronyd -Q for one-shot operations. Use these only when that behavior fits your maintenance procedure; they are not a replacement for leaving the selected daemon enabled for ongoing synchronization.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Operational checklist for a Linux VPS

  • Run timedatectl status before changing packages or services.
  • Check both systemd-timesyncd and chrony so an existing daemon is not overlooked.
  • Select one service based on the VPS’s needs and distribution release.
  • Configure NTP sources in that service’s documented file or drop-in location.
  • Enable and start only the selected daemon.
  • Confirm synchronization with timedatectl status and the daemon-specific status command.
  • Verify DNS, routing and outbound UDP 123 if the source cannot be reached.
  • Use timedatectl show when a monitoring or automation system needs machine-readable state.

Practical choices by VPS scenario

Small application VPS with no special NTP requirements

Use systemd-timesyncd when it is supplied by the distribution and you want a minimal client. Define preferred and fallback servers, enable timesyncd, and verify the contacted server with timedatectl timesync-status.

Ubuntu 25.10 or newer

Use chrony as the starting point because Ubuntu identifies it as the default from Ubuntu 25.10. Keep the release’s chrony source configuration unless your network policy requires a change, then validate with chronyc -N tracking and chronyc sources -v.

VPS involved in a larger time service

Prefer chrony when you need full NTP behavior, detailed source selection or client/server capabilities. The service still needs reachable upstream sources, and enabling extra capabilities does not remove the requirement to monitor synchronization.

What a successful setup looks like

The final state has one enabled daemon, a reachable source and corroborating evidence from both status layers. timedatectl reports an active NTP service and a synchronized system clock; the selected daemon identifies a source or tracking reference; and the VPS network permits DNS resolution, routing and outbound UDP 123. If any of those pieces is missing, fix that specific layer instead of installing another time client.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More quests from Patch Notes

  1. How to Set Up a RedM (RDR2) Server in 2026: License Key, txAdmin and server.cfg, Step by StepBlog11min
  2. Best RedM (RDR2) Server Hosting in 2026: Comparing Four Hosts on Slots, Memory and PriceBlog10min
  3. How to Host a Mindustry Server in 2026: server-release.jar, Port 6567 and the Commands That MatterBlog7min
Recommended PC Tool
Recommended PC Tool
Windows Errors? Fix Them Before They SpreadFree repair scan
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.