Linux时间设置系统时间、硬件时间和时间服务

Linux有两个时间,一个是系统时间,一个是RTC时间(也叫硬件时间)。

Linux系统启动时,会自动获取硬件时间,设置为系统时间。

一、查询系统时间:

查询系统时间:date

查询/设置硬件时间:

       hwclock –r        显示硬件时钟与日期

       hwclock –s 比特币www.gendan5.com/digitalcurrency/btc.html 将系统时钟调整为与目前的硬件时钟一致。

       hwclock –w       将硬件时钟调整为与目前的系统时钟一致

二、同步时间

        可以使用ntpdate命令,也可以使用ntpd服务。

ntpdate:

        使用ntpdate比较简单。格式如下:

        [root@linux ~]#ntpdate 192.168.0.2

        [root@linux ~]#ntpdate time.ntp.org
        

     [root@linux ~\]#

        但这样的同步,只是强制性的将系统时间设置为ntp服务器时间。如果cpu tick有问题,只是治标不治本。所以,一般配合cron命令,来进行定期同步设置。比如,在crontab中添加:

0 12 * * * * /usr/sbin/ntpdate192.168.0.1

        这样,会在每天的12点整,同步一次时间。ntp服务器为192.168.0.1。

ntpd服务

        使用ntpd服务,要好于ntpdate加cron的组合。因为,ntpdate同步时间,会造成时间的跳跃,对一些依赖时间的程序和服务会造成影响。比如sleep,timer等。而且,ntpd服务可以在修正时间的同时,修正cpu tick。理想的做法为,在开机的时候,使用ntpdate强制同步时间,在其他时候使用ntpd服务来同步时间。

三、NTP客户端同步间隔

        NTP服务会间隔多长时间想时钟服务器请求一次时钟同步呢?默认最小时间间隔为64s,默认最大时间间隔是1024s(17分钟左右)。64s是比较合理的,默认间隔也是可调的

四、ntpd容忍误差范围

        要注意的是,ntpd有一个自我保护设置: 如果本机与上源时间相差太大(>1000s), NTP服务就会认为是人为调整了时钟或出现了硬件故障,例如CMOS电池损坏等。此时,NTP服务就会退出,需要人工(ntpdate …)进行时钟同步。所以新设置的时间服务器一定要先ntpdate从上源取得时间初值, 然后启动ntpd服务。ntpd服务运行后, 先是每64秒与上源服务器同步一次, 根据每次同步时测得的误差值经复杂计算逐步调整自己的时间, 随着误差减小, 逐步增加同步的间隔. 每次跳动, 都会重复这个调整的过程.

你可能感兴趣的:(ntp)