NTP 时间服务器配置《一》 硬件时间和系统时间
最近做了一个项目,部署到服务器上,但是服务器时间总是发生变化,于是花了一些时间研究了NTP时间服务器的使用。下来整理了一些学习心得,记录一下,免得遗忘。
NTP 时间服务器《一》 硬件时间和系统时间
在Linux系统中有硬件时钟和系统时钟两种时钟,默认情况下,它们并不会自动同步,并且以异步的方式运行,互不干扰。
硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟。
系统时钟是指kernel中的时钟。所有Linux相关指令与函数都是读取系统时钟的设定。
因为存在两种不同的时钟,那么它们之间就会存在差异。当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作。
修改系统时间和硬件时间
(1)系统时间 查看:date 修改:date -s ‘2015-12-12 00:00:00’ (2)硬件时间 查看:hwclock -r或者hwclock --show 修改:hwclock --set --date ‘2015-12-12 00:00:00’ |
用date命令对系统时间进行设置后,并不会去修改硬件时钟,所以系统重启后,系统时间还算会去读取硬件时间,这就是为何date设置失效到原因。因此,需要在设置系统时间后,将系统时间同步到硬件时钟。
同步系统时间和硬件时间
(1)将硬件时间写入系统时间 命令:hwclock --hctosys或者hwclock -s 命令:clock --hctosys或者clock -s
(2)将系统时间写入硬件时间 命令:hwclock --systohc或者hwclock -w 命令:clock --systohc或者clock -w |
如果观察系统启动/关闭时执行的初始化脚本”/etc/rc.d/rc.sysinit”,我们不难发现:
系统启动过程中,自动调用/sbin/hwclock --hctosys 将硬件时钟系统时间同步到操作系统时间. 系统关闭过程中,自动调用/sbin/hwclock --systohc 将操作系统时间同步到硬件时钟系统时间 |