情景:系统为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="11/18/2016 13:26:00"
5、让系统时间与硬件时钟同步:
hwclock –hctosys
6、让硬件时钟与系统时间同步:
hwclock –systohc(-w)