How to Obtain Accurate Server Time in CentOS?

Accurate server time is crucial for various aspects of system administration, including synchronization between distributed systems, logging, security measures, and troubleshooting. In CentOS, a popular Linux distribution, there are several methods to obtain accurate server time.

In this article, we will explore different approaches to ensure precise timekeeping in CentOS. We'll begin by checking the system time and verifying the time zone settings. Then, we'll dive into two common methods: using the Network Time Protocol (NTP) and the Chrony time daemon. Additionally, we'll discuss the hardware clock and its significance in maintaining accurate time.

Checking System Time

To ensure accurate server time in CentOS, it's important to first check the current system time and verify the time zone configuration.

Using the Date Command

The date command in CentOS allows you to display the current system time. Open the terminal and execute the following command

date

This will display the current date and time in the default format. Verify that the displayed time corresponds to your local time.

Verifying the System Time Zone

The system time zone determines the reference point for time calculation. It's essential to ensure that the system time zone is correctly configured.

To check the system time zone, use the following command

timedatectl show --property=Timezone

The output will display the configured time zone. Verify that it matches your intended time zone.

If the system time or time zone is incorrect, it can lead to discrepancies in various system operations. Now that we have checked the system time, let's explore the methods to obtain accurate server time using NTP.

NTP (Network Time Protocol)

NTP (Network Time Protocol) is a widely used protocol for synchronizing time across computer systems. CentOS offers built-in support for NTP, allowing you to obtain accurate server time by synchronizing with reliable time servers.

Installing NTP

To install NTP on CentOS, open the terminal and execute the following command

sudo yum install ntp

The package manager will download and install the NTP package along with its dependencies.

Configuring NTP Servers

NTP servers are responsible for providing accurate time information. By default, CentOS is configured to use the NTP Pool Project servers. However, you can modify the configuration to use specific NTP servers of your choice.

To configure NTP servers, open the /etc/ntp.conf file in a text editor

sudo nano /etc/ntp.conf

Locate the "server" directives and update them with the IP addresses or hostnames of your preferred NTP servers. Save the file and exit the text editor.

Synchronizing Time with NTP

To synchronize the system time with the configured NTP servers, use the following command

sudo systemctl start ntpd

This command starts the NTP service and initiates the time synchronization process. The system will contact the configured NTP servers and adjust the system time accordingly.

Verifying NTP Synchronization

To check if the system time is synchronized with the NTP servers, execute the following command

ntpq -p

This command displays a list of peers (NTP servers) and their synchronization status. Look for the "reach" column, which indicates the reachability of the servers. A reach value of 377 indicates successful synchronization.

Chrony Time Daemon

Chrony is another time synchronization daemon available in CentOS. It provides similar functionality to NTP but with some additional features and optimizations, particularly better performance in environments with intermittent network connectivity.

Installing Chrony

To install Chrony on CentOS, open the terminal and execute the following command

sudo yum install chrony

The package manager will download and install the Chrony package along with its dependencies.

Configuring Chrony Servers

Chrony uses the /etc/chrony.conf configuration file to define the time servers. Open the file in a text editor

sudo nano /etc/chrony.conf

Within the file, you'll find a section with "server" directives. Update these directives with the IP addresses or hostnames of your preferred Chrony servers. Save the file and exit the text editor.

Synchronizing Time with Chrony

To synchronize the system time using Chrony, start the Chrony service by executing the following command

sudo systemctl start chronyd

Chrony will initiate the time synchronization process by contacting the configured Chrony servers and adjusting the system time accordingly.

Verifying Chrony Synchronization

To check the synchronization status with Chrony, use the following command

chronyc tracking

This command displays information about the system's time sources and the current synchronization status. Look for the "Reference ID" and "Last offset" fields to ensure synchronization.

Hardware Clock and Timezone

The hardware clock, also known as the Real-Time Clock (RTC), is a clock built into the computer's hardware that keeps track of time even when the system is powered off. CentOS uses the hardware clock to initialize the system time during startup.

Hardware Clock and UTC

By default, CentOS assumes that the hardware clock is set to Coordinated Universal Time (UTC). It then applies the system's configured time zone offset to derive the local time.

To check the hardware clock time in UTC, execute the following command

sudo hwclock --show --utc

Configuring Hardware Clock

If your hardware clock is not set to UTC, you can adjust it accordingly. First, set the hardware clock time to UTC using the following command

sudo hwclock --systohc --utc

This command updates the hardware clock based on the system time.

Timezone and Hardware Clock

The system's timezone affects how the hardware clock is interpreted during startup. By default, CentOS assumes the hardware clock is set to UTC and applies the configured timezone offset.

If you want the hardware clock to be interpreted as local time, use the following command

sudo timedatectl set-local-rtc 1

To revert to interpreting the hardware clock as UTC, use the command

sudo timedatectl set-local-rtc 0

Comparison of Time Synchronization Methods

Feature NTP Chrony
Memory Usage Higher Lower
Network Connectivity Requires stable connection Better with intermittent connection
Configuration /etc/ntp.conf /etc/chrony.conf
Service Name ntpd chronyd
Status Check ntpq -p chronyc tracking

Best Practices

  • Use multiple time servers for redundancy and accuracy

  • Set the hardware clock to UTC to avoid timezone-related issues

  • Enable automatic startup of time synchronization services

  • Monitor synchronization status regularly

  • Consider using Chrony for systems with intermittent network connectivity

Conclusion

Accurate server time is essential for system administration, security, and application functionality in CentOS. Both NTP and Chrony provide reliable time synchronization, with Chrony offering better performance in challenging network environments. Proper hardware clock configuration ensures consistent timekeeping across system restarts and maintains accuracy for all time-dependent operations.

Updated on: 2026-03-17T09:01:39+05:30

1K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements