发觉服务器系统时间和标准时间差了10多分钟,之后零点的时间调整了下时间。过了差不多一个星期发展数据库中记录的时间还是不对,如是用加班调整了下时间。过了2天一看还是时间不对,一查才发觉:
机器里有两个时钟。硬件时钟从根本上讲是CMOS时钟;而系统时钟是由内核维护的,它是从1969年底(即传说中的标志Unix时代开端的那种拂晓)开始算起的累积秒数。
在DOS或Mac系统中linux公社,起作用的是硬件时钟。遗憾的是,你可能早已发觉了,绝大多数笔记本时钟都是很不确切的。它们从根本上讲是由大型电瓶供电的警报器时钟,这些锂电池通常可持续供电两年左右,那时侯你系统各大块差不多都早已过时了。
而在Linux系统中,起作用的是系统时钟。在启动时,它靠读取硬件时钟获得计时起点,而不是靠记忆计时。
你可以通过BIOS更改系统硬件时钟,或则假如你不想重起机器,那就用hwclock命令。
比较酷的一点是,当你使用hwclock命令调整硬件时间好多次之后,hwclock才会获取你的时钟推移速度,之后还会把这个信息存在/etc/adjtime旁边。之后,你就可以用它来随时更新你的硬件时间red hat linux,用一条下边的命令:hwclock--adjust.
硬件时钟一般被设置成全球标准时间(UTC),而将时区信息保存在/usr/share/lib/timezone(或则在个别系统中可能是/usr/local/timezone)目录下某个适当的文件中unix修改系统时间,之后用一个符号链接文件/etc/localtime指向它。
查看硬件时钟用命令:
hwclock--show
重置硬件时钟用:
hwclock--set--date="1/23/0122:16:59"
假如须要更改你的时区信息unix修改系统时间,可以使用tzset命令,假如你系统中没有这条命令,那可以用类似下边的操作:
ln-s/etc/localtime/usr/share/zoneinfo/US/Pacific
要把握linux的时间操作还有好多东西须要了解,包括拿来创建实时时钟文件(/dev/rtc)的内核选项、在内核或TZ时区表中设置时区信息的方式、网络时间服务器功能和夏令时等等。
摘至: