Recently I noticed that my clock was beginning to skew, and NTP wasn’t able to keep up with it. This is due to having a “system clock” and a “hardware clock” the system clock is the one that the OS controls, while the hardware clock is controlled by the BIOS and runs on the hardware. So all I did to resolve it was sync up the system clock and then sync the hardware clock based off of the system clock.
Update System Time from NTP Server
NTP will only handle incremental time shifts, but ntpdate will use the time source and then make one large adjustment to fix large skews, of course you could manually set the system clock too.
# ntpdate -u timeserver.local 10 Jul 10:37:19 ntpdate[6702]: adjust time server 172.16.88.208 offset 0.105388 sec
Show the Hardware Clock Time
Here we are going to take a look at the hardware clock. This can be compared to your system clock to see if the problem is existing for you.
# hwclock --show Wed 10 Jul 2013 10:35:04 AM CDT -0.938189 seconds
Update the Hardware Clock with the Time from the System Clock
When you are ready to copy your time from your system clock to the hardware clock, that can be done with the following command. You can also pull from the hardware clock if you desire.
# hwclock --systohc