linux硬件时间的调整

首先使用date设置正确的时间(如果你的时间设置也不对的话,首先得调整时区).
调整后,使用date命令查看是否正确:
shell$date
Fri Apr 21 18:47:09 CST 2006
首先查看一下硬件时钟:
shell#hwclock �Cshow
然后使用hwclock将硬件时间调整为与系统时间一致:
shell#hwclock �Cdirectisa �Csystohc
这时间再查看一下硬件时钟是否已经调整过来了?
shell#hwclock �Cshow
Fri 21 Apr 2006 06:47:25 PM CST -0.764909 seconds
请注意�Cdirectisa参数,如果出现文中开头的错误信息,则必须加上此参数,表示直接以I/O指令存取硬件时间而不通过/dev/rtc设备来存取。
如果您的硬件时间是正确的,要将系统时钟调整的与硬件时钟一致,则只需要将�Csystohc换成�Chctosys即可。
hwclock的参数详解:
语法:hwclock [�Cadjust][�Cdebug][�Cdirectisa][�Chctosys][�Cshow][�Csystohc][�Ctest] [�Cutc][�Cversion][�Cset �Cdate=<日期与时间>]
参数:
�Cadjust  hwclock每次更改硬件时钟时,都会记录在/etc/adjtime文件中。使用�Cadjust参数,可使hwclock根据先前的记录来估算硬件时钟的偏差,并用来校正目前的硬件时钟。
�Cdebug  显示hwclock执行时详细的信息。
�Cdirectisa  hwclock预设从/dev/rtc设备来存取硬件时钟。若无法存取时,可用此参数直接以I/O指令来存取硬件时钟。
�Chctosys  将系统时钟调整为与目前的硬件时钟一致。
�Cset �Cdate=<日期与时间>  设定硬件时钟。
�Cshow  显示硬件时钟的时间与日期。
�Csystohc  将硬件时钟调整为与目前的系统时钟一致。
�Ctest  仅测试程序,而不会实际更改硬件时钟。
�Cutc  若要使用格林威治时间,请加入此参数,hwclock会执行转换的工作。
�Cversion  显示版本信息。
或许每次都要加上�Cdirectisa比较麻烦,因此可以用以下方法作一些改变:
shell#cd /sbin
shell#mv hwclock hwclock.ori
shell#cat > hwclock <

#!/bin/bash
/sbin/hwclock.ori �Cdirectisa $@
EOF
shell#chmod +x hwclock