How to Set date and time from Command Line in Linux

Configurare noua (How To)

Situatie

For certain tasks or applications, you might need to set a specific date and time for testing or debugging purposes. If so, this tutorial is for you! This brief guide will provide you with step-by-step instructions on how to modify your system clock using the command line in Linux.

Whether you’re dealing with time zone discrepancies or simply want to manually adjust the date and time, this tutorial will help you achieve your goal easily.

Solutie

Pasi de urmat

You can change the system clock from the command line in Linux using the date command.

Set the date and time:

To set your system clock using command line, the command would be:

sudo date -s "YYYY-MM-DD HH:MM:SS"

Replace YYYY-MM-DD HH:MM:SS with the desired date and time. For example, to set the date to September 1, 2024, at 12:34:56, you would use:

sudo date -s "2024-09-01 12:34:56"

Sync the hardware clock:

After setting the system date and time, you should update the hardware clock to match the system clock using the hwclock command:

sudo hwclock --systohc

Remember to use sudo to run these commands with administrative privileges.

Revert back to the Current Date and Time

In this example, I set an older date for demonstration purpose. When you restart your Linux system after setting an old date and time, it automatically updates to the current date and time.

The automatic update to the current date and time upon reboot is typically due to the system reading the correct time from the hardware clock and/or synchronizing with NTP servers. This ensures that the system clock remains accurate and reliable.

Just in case if the date and time doesn’t change automatically after reboot, you can easily revert back to the current date and time using any one of the following methods:

Get Date and Time from Google

Run the following command from your Terminal:

sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"

This command does the following:

  • It uses wget to fetch the headers from Google’s server, which includes the current date and time.
  • It extracts the date and time information from the headers.
  • It sets the system date and time to match the retrieved information.

Synchronize with Network Time Protocol (NTP):

The easiest way to set your system’s date and time back to the current time is to synchronize it with an NTP server. Most Linux distributions have ntpd or chrony installed by default, which can automatically synchronize the system clock with NTP servers.

Using ntpd:

sudo systemctl start ntpd
sudo systemctl enable ntpd

Using chrony:

sudo systemctl start chronyd
sudo systemctl enable chronyd

These commands will start the NTP service and enable it to run at startup, ensuring your system clock is always synchronized with the correct time.

Using ntpdate:

If you don’t have an NTP daemon running, you can use the ntpdate command to set the time from an NTP server:

sudo ntpdate pool.ntp.org

This command will set your system’s date and time to the current time according to the NTP server.

Using timedatectl:

On modern Linux distributions that use systemd, you can use the timedatectl command to set the date and time and enable NTP synchronization:

sudo timedatectl set-ntp true

This command will enable NTP synchronization and automatically set your system’s date and time to the current time.

Manually Set the Date and Time:

If you prefer to manually set the date and time to the current values, you can use the date command again. However, you need to know the current date and time. You can find the current date and time from a reliable source, such as a website or another computer.

Once you identify the correct date and time, simply use the date command as we explained in the previous section.

sudo date MMDDhhmmYYYY.ss

Where:

  • MM is month (01-12)
  • DD is day (01-31)
  • hh is hour (00-23)
  • mm is minute (00-59)
  • YYYY is year
  • ss is seconds (00-59)

For example:

sudo date 090314302024.00

This command would set the date to September 3, 2024, at 2:30 PM.

After setting the time, you might want to write the system clock to the hardware clock:

sudo hwclock --systohc

This ensures that the new time persists across reboots. By using one of these methods, you can easily revert your system’s date and time back to the current values.

Tip solutie

Permanent

Voteaza

(18 din 34 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?