情景:系统为CentOS-5.4,硬件时间正确(查看硬件时间的方法见下面),系统时间每隔24小时会慢20分钟左右

Linux将时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟两种。系统时间是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电的那个主板硬件时钟,这个时钟可以在BIOS的Standard BIOS Feture”项中进行设置。
在Linux中,用于时钟查看和设置的命令主要有date、hwclock和clock(clock是hwclock的符号链接)。

解决:让系统时间每隔十分钟去同步一下硬件时间

$ vi /etc/crontab


SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/


# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
*/10 * * * * root hwclock --hctosys			#我加入了这么一行,表示每隔10分钟执行一次hwclock --hctosys



1、查看Linux系统时间:


date



2、修改Linux系统时间:


date -s 06/10/96


date -s 13:12:00


date -s "06/10/1996 13:12:00"

#这里的格式是 "MM/DD/YYYY hh:mm:ss"


date 061013121996.00

#这里的格式是 MMDDhhmmYYYY.ss (月日时分年.秒)



3、查看Linux硬件时间:


hwclock


or


hwclock –show



4、修改Linux硬件时间:


hwclock --set --date="09/17/2003 13:26:00"



5、让系统时间与硬件时钟同步:


hwclock –hctosys



6、让硬件时钟与系统时间同步:


hwclock –systohc(-w)


参考资料:

Linux下系统时间设置及date命令使用,http://www.51testing.com/batch.viewlink.php?itemid=223397

Linux时间变慢解决方法 – Linux时间命令date、hwclock和clock学习,http://www.hack520.org/linux-date-hwclock-clock/