标签:
在Linux下,系统时间和硬件时间都以异步的方式运行,互不干扰。硬件时间的运行是靠Bios电池来维持,而系统时间是用CPU tick来维持的。在系统开机的时候,会自动从BIOS中取得硬件时间,设置为系统时间。
硬件时间的设置,可以用hwclock或者clock命令。其中,clock和hwclock用法相近,只用一个就 行,只不过clock命令除了支持x86硬件体系外,还支持Alpha硬件体系
hwclock # 查看硬件时间
hwclock –set –date=”6/28/18 30:00″ # 设置硬件时间
系统时间和硬件时间之间可以相互同步:
# 修改硬件时间,以系统时间为准 hwclock –systohc hwclock -w # 修改系统时间,以硬件时间为准 hwclock –hctosys hwclock -s
为了避免服务器因长期运行而导致的时间偏差,进行时间同步(synchronize)的工作是非常必要的。Linux使用ntpdate命令或ntp服务器来同步不同机器的时间。
ntpd在实际同步时间时是一点点的校准过来时间的,最终把时间慢慢的校正对;而ntpdate不会考虑其他程序是否会阵痛,直接调整时间.一个是校准,一个是调整。
另外ntpd 在和时间服务器的同步过程中,会把 BIOS 计时器的振荡频率偏差——或者说 Local Clock 的自然漂移(drift)——记录下来。这样即使网络有问题,本机仍然能维持一个相当精确的走时。使用ntpd还需要考虑到一个细节是,如果client与server时差异常大或过小,ntpd将会拒绝server参考时间。
ntpdate命令
ntpdate 192.168.0.2
ntpdate time.ntp.org
使用ntpdate有一个跳跃的缺陷,我们知道许多应用程序依赖连续的时钟,取得的时间是线性的。例如数据库事务,通常会地依赖这样的事实:时间不会往回跳跃。可以想象一下,假如Oracle服务器的时间是01:00 AM,标准时间是00:30 AM,很明显Oracle服务器经过他自己的时间00:40 AM。假若此时直接使用ntpdate将服务器与标准时间同步,那么意味着Oracle服务器将在同一天经过两个00:40 AM,这对于某些计划任务来说可能是致命的。
ntpd服务
相关配置文件:
在启动NTP服务前,可以先手动的校正一次时间:
ntpdate cn.pool.ntp.org
service ntpd start
标签:
原文地址:http://www.cnblogs.com/chenny7/p/4608313.html