linux系统有两个时钟:一个是由主板电池驱动的硬件时钟(Real Time Clock),也叫做RTC或者叫CMOS时钟。当操作系统关机的时候,用这个来记录时间,但是对于运行的系统是不用这个时间的;另一个时间是系统时钟(System clock)也叫内核时钟或者软件时钟,是由软件根据时间中断来进行计数的,内核时钟在系统关机的情况下是不存在的,所以,当操作系统启动的时候,内核时钟是要读取RTC时间来进行时间同步。并且在系统关机的时候将系统时间写回RTC中进行同步。
查看系统时间:
~]# date
Fri Sep 6 06:23:50 EDT 2019
查看硬件时间:
~]# hwclock --show
Fri Sep 6 15:28:42 2019 -0.975018 seconds
在生产环境中,特别是在分布式环境中,服务器时间的同步尤为重要,所以我们需时刻保证生产服务器时间一致。
同步系统时间:
~]# yum install -y ntp
~]# ntpdate cn.pool.ntp.org #同步北京时间
~]# ntpdate -u NTP_SERVER #手动同步,指定时间服务器
~]# echo '*/5 * * * * /usr/sbin/ntpdate -u NTP_SERVER > /dev/null 2>&1'>>/var/spool/cron/root #写入计划任务
当系统时钟与硬件时钟不一致时,可进行同步到统一时间
~]# hwclock --systohc #以系统时钟为准,同步硬件时钟
~]# hwclock --hctosys #以硬件时钟为准,同步系统时钟
更多的时间服务器信息可到NTP的官方网站进行查询:http://ntp.org.cn/