Configuring the date and time RHEL 7 (3)
hwclock
is a utility for accessing the hardware clock, also referred to as the Real Time Clock (RTC). The hardware clock is independent of the operating system you use and works even when the machine is shut down. This utility is used for displaying the time from the hardware clock. hwclock
also contains facilities for compensating for systematic drift in the hardware clock.
The hardware clock stores the values of: year, month, day, hour, minute, and second. It is not able to store the time standard, local time or Coordinated Universal Time (UTC), nor set the Daylight Saving Time (DST).
The
hwclock
utility saves its settings in the /etc/adjtime
file, which is created with the first change you make, for example, when you set the time manually or synchronize the hardware clock with the system time.
NOTE
In Red Hat Enterprise Linux 6, the
hwclock
command was run automatically on every system shutdown or reboot, but it is not in Red Hat Enterprise Linux 7. When the system clock is synchronized by the Network Time Protocol (NTP) or Precision Time Protocol (PTP), the kernel automatically synchronizes the hardware clock to the system clock every 11 minutes.2.3.1. Displaying the Current Date and Time
Running
hwclock
with no command line options as the root
user returns the date and time in local time to standard output.hwclock
Note that using the
--utc
or --localtime
options with the hwclock
command does not mean you are displaying the hardware clock time in UTC or local time. These options are used for setting the hardware clock to keep time in either of them. The time is always displayed in local time. Additionally, using the hwclock --utc
or hwclock --local
commands does not change the record in the /etc/adjtime
file. This command can be useful when you know that the setting saved in /etc/adjtime
is incorrect but you do not want to change the setting. On the other hand, you may receive misleading information if you use the command an incorrect way. See the hwclock
(8) manual page for more details.
Example 2.9. Displaying the Current Date and Time
To display the current date and the current local time from the hardware clock, run as
root
:~]# hwclock
Tue 15 Apr 2014 04:23:46 PM CEST -0.329272 seconds
CEST is a time zone abbreviation and stands for Central European Summer Time.
2.3.2. Setting the Date and Time
Besides displaying the date and time, you can manually set the hardware clock to a specific time.
When you need to change the hardware clock date and time, you can do so by appending the
--set
and --date
options along with your specification:hwclock --set --date "dd mmm yyyy HH:MM"
Replace dd with a day (a two-digit number), mmm with a month (a three-letter abbreviation), yyyy with a year (a four-digit number), HH with an hour (a two-digit number), MM with a minute (a two-digit number).
At the same time, you can also set the hardware clock to keep the time in either UTC or local time by adding the
--utc
or --localtime
options, respectively. In this case, UTC
or LOCAL
is recorded in the /etc/adjtime
file.
Example 2.10. Setting the Hardware Clock to a Specific Date and Time
If you want to set the date and time to a specific value, for example, to "21:17, October 21, 2014", and keep the hardware clock in UTC, run the command as
root
in the following format:~]# hwclock --set --date "21 Oct 2014 21:17" --utc
You can synchronize the hardware clock and the current system time in both directions.
- Either you can set the hardware clock to the current system time by using this command:
hwclock --systohc
Note that if you use NTP, the hardware clock is automatically synchronized to the system clock every 11 minutes, and this command is useful only at boot time to get a reasonable initial system time. - Or, you can set the system time from the hardware clock by using the following command:
hwclock --hctosys
When you synchronize the hardware clock and the system time, you can also specify whether you want to keep the hardware clock in local time or UTC by adding the
--utc
or --localtime
option. Similarly to using --set
, UTC
or LOCAL
is recorded in the /etc/adjtime
file.
The adjtime file looks like below:
0.0 0 0.0 0 UTC
The
hwclock --systohc --utc
command is functionally similar to timedatectl set-local-rtc false
and the hwclock --systohc --local
command is an alternative to timedatectl set-local-rtc true
.
Example 2.11. Synchronizing the Hardware Clock with System Time
To set the hardware clock to the current system time and keep the hardware clock in local time, run the following command as
root
:~]# hwclock --systohc --localtime
To avoid problems with time zone and DST switching, it is recommended to keep the hardware clock in UTC.
In case of a multi boot with a Windows system, which assumes the hardware clock runs in local time by default, and all other systems need to accommodate to it by using local time as well. It may also be needed with a virtual machine; if the virtual hardware clock provided by the host is running in local time, the guest system needs to be configured to use local time, too.
Comments
Post a Comment