Linux Clock ConfigurationAuthor: Edward Buck
Last edited: December 19, 2002
SummaryThis guide will help you setup the correct date and time on your Red Hat 7.x Linux system including setting up ntpd for online time synchronization.
InstructionsThere are two clocks to configure in Linux, the hardware clock and the system clock. The hardware clock determines the system clock on system boot. While the system is running, changes to one of these doesn't affect the other.
Note: it's best to set the hardware clock and have the system clock be set upon a reboot. Changing the system clock by using the date program on a running system could cause date discontinuities and consequently problems. If you will be using ntpd, you probably don't need to set either of these clocks (unless the current time is more than 1000s off the real time). Just setup ntpd and let ntpd adjust the time (it will do it in small steps to keep system timestamps reliable).
- If convenient, use Red Hat's dateconfig tool. Using the dateconfig tool will update both the system clock and the hardware clock. The dateconfig tool also allows you to setup ntpd, which will keep the system clock in sync with a remote server.
If using the dateconfig tool is not an option, follow the remaining steps to configure manually. For example, if you are using a non graphical terminal (dateconfig requires X windows), you must configure manually.
- You can use timeconfig to configure the timezone and UTC settings. Timeconfig will update /etc/sysconfig/clock and /etc/localtime.
- Set the time zone manually if not already set.
Linux uses the file /etc/localtime to determine the time zone. This file should be either a copy of the appropriate timezone file from the directory /usr/share/zoneinfo or a symbolic link. If your time zone is incorrect, create a symbolic link to the appropriate timezone file.
# ln -s /usr/share/zoneinfo/America/Los_Angeles /etc/localtime
- Set whether hwclock uses local time or UTC
Edit the file /etc/sysconfig/clock and change "UTC=" to true or false. If you have a dual-boot system with Windows, using UTC may cause problems for Windows.
- Set the system clock
# date MMDDhhmmCCYY.sswhere MM is month, DD is day, hh is hour, mm is minutes, CCYY is year and ss is seconds. Time should be in 24-hour notation.
To only set the time:
# date -s hh:mm:ss
- Set the hardware clock
To set the hardware clock to the current system clock:
# setclockthis method looks at /etc/sysconfig/clock to determine whether the hardware clock is set to UTC
# hwclock --systohc # hwclock --systohc --utcuse the second option if you use UTC.
Set hwclock manually:
# hwclock --set --date="9/22/96 16:45:05"Everytime you use the hwclock --set command, it will create or edit the file /etc/adjtime to determine the systematic drift. Once you have some history, you can use the --adjust option to adjust the hardware clock appropriately. Run as a cron job if you want the clock to adjust automatically on a regular schedule. Don't use the --adjust function when using ntpd since ntpd will turn the "11 minute mode" on, which is best left alone. See the hwclock manpage for more info.
- Setup ntpd for automatic synchronization with a remote server.
Run Red Hat's setup utility to make ntpd start on boot up and edit /etc/ntp.conf
Set server and fudge options:
server time.nist.gov fudge time.nist.gov stratum 10Enable multicastclient:
multicastclient # listen on default 126.96.36.199Edit /etc/sysconfig/ntpd if necessary. The default should be fine.
Start the ntpd daemon:
# service ntpd start