How to setup time synchronization on Ubuntu 20.04?

Overview

Modern software deployments depend on precise timekeeping. Without it, you could run into hard-to-debug problems like data corruption and errors. Time synchronisation can assist guarantee that your logs are being kept in the proper order and that database updates are properly applied.

Fortunately, time synchronisation is included and enabled by default in Ubuntu 20.04 utilising the systemd's timesyncd service. You will put some general time-related commands into practise, check if timesyncd is running, and install a different network time service in this article.

This article will walk you through installing an alternative network time service, testing that timesyncd is running, and some general time-related commands.

Prerequisites

  • Ubuntu version 20.04 or any other linux equipped system

  • A regular user (non-root) having Sudo privileges

  • Internet connection

Basic Time Commands

  • All users have access to the date command, which displays the time and date as they are right now:

date

Your server will often produce an output using the UTC time zone by default.

  • You can use the timedatectl command to modify your time zone. Run the following command to produce a list of the available time zones:

timedatectl list-timezones

Your screen will display a table of time zones.

Note: You can page up by pressing b, and down by pressing SPACE. Once you've located the right time zone, note it down and then press q to leave the list.

  • The time zone can then be set by using the timedatectl set-timezone command followed by the time zone you discovered in the list.

sudo timedatectl set-timezone America/New_York
  • By running the date command again, you can confirm your changes:

date

The newly selected value will be reflected in the time zone abbreviation.

After configuring time zones and monitoring the time, you may ensure that your time is synchronised correctly in the following step.

Controlling timesyncd with timedatectl

The Network Time Protocol daemon, or ntpd, is used to handle the majority of network time synchronisation. This service links to a network of additional NTP servers, which give it regular, precise time updates.

You can now use timesyncd instead of ntpd with Ubuntu's default installation, though. Similar to timesyncd, systemd connects to the same time servers, but it is more tightly integrated with systemd on Ubuntu.

  • By using the command timedatectl without any parameters, you can check the status of timesyncd.

timedatectl

This command prints the local time, the universal time (which might match the local time if you didn't switch from the UTC time zone), and some network time status data. System clock synchronised: yes signifies that timesyncd is operational, and NTP service: active denotes that the timesyncd is up and running.

sudo timedatectl set-ntp on

Run timedatectl once more to verify the network time status after that. System clock synchronised will finally indicate yes and NTP service will appear as active.

Switching to ntpd

timesyncd will work in most circumstances. However, there are times when an application could be sensitive to any change in time. Ntpd is a different network time service that you can utilise in this situation, the system time is continuously and gradually maintained by ntpd using complex algorithms.

  • You must disable timesyncd prior to installing ntpd in order to avoid conflicts between the two services. This can be achieved by turning off network time synchronisation with the command:

sudo timedatectl set-ntp no
  • Check to see if time synchronization is turned off:

timedatectl

Verify that NTP service: inactive is displayed in your output. This indicates that timesyncd has terminated. You're now prepared to use apt to install the ntp package.

  • Run apt update to update your local package index first.

sudo apt update
  • After that, launch apt install ntp to set up the package:

sudo apt install ntp
  • Following the completion of your installation, ntpd will launch automatically. By asking ntpd for status information, you can make sure everything is operating as intended:

ntpq -p

A query tool for ntpd is called ntpq. The -p flag enquires about the peers or NTP servers that ntpd is linked to. Although your output will change slightly, it will list the standard Ubuntu pool servers in addition to a few others.

Conclusion

You've successfully examined the system time, switched time zones, used Ubuntu's default timesyncd service, and installed ntpd during the course of this tutorial. If you require advanced timekeeping services, you should consult the official NTP literature as well as the NTP Pool Project, a global network of volunteers who provide a significant portion of the NTP infrastructure.

Last updated