linux怎么实现时间同步

小编给大家分享一下linux怎么实现时间同步,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

创新互联公司专注于二道网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供二道营销型网站建设,二道网站制作、二道网页设计、二道网站官网定制、微信小程序开发服务,打造二道网络公司原创品牌,更为您提供二道网站排名全网营销落地服务。

Linux实现时间同步的方法的有两种,一种是使用ntpdate从时间服务器来更新时间,不需要自己做任何配置,另外一种是使用ntp来搭建自己的时间服务器

由于硬件的原因,机器或多或少的跟标准时间对不上,误差几秒到几分钟不等。对于服务器来说时间不准会有很多麻烦。例如支付的时候,无法下单,游戏无法登录等。接下来将在文章中为大家分享Linux系统中如何实现时间同步,希望对大家有所帮助

方法一:用ntpdate从时间服务器更新时间

如果linux系统没有ntpdate这个命令,可以输入以下代码进行安装

yum install ntp

安装完了之后,你不要做什么配置,也不需要,直接测试一下

vi /etc/ntp.conf
add below:
server 1.cn.pool.ntp.org
server 3.asia.pool.ntp.org
server 2.asia.pool.ntp.org

restart service and sync the time

[root@localhost ~]# ntpdate time.nist.gov  
22 Oct 21:11:43 ntpdate[5014]: adjust time server 207.200.81.113 offset -0.018788 sec

如果显示上面的内容说明同步成功了,然后在crontab里面加上以下内容。

*/10 * * * * ntpdate time.nist.gov   #域名或IP

每隔十分钟同步一次。推荐几个时间服务器。

time.nist.gov

time.nuri.net

0.asia.pool.ntp.org

1.asia.pool.ntp.org

2.asia.pool.ntp.org

3.asia.pool.ntp.org

方法二、用ntp搭建自己的时间服务器

上面是利用别人的时间服务器来同步时间,这些时间服务器都是比较权威的。当我们自己搭建时间服务器就不用crontab来定时去跑。

1、安装时间服务器ntp

yum install ntp

2、配置ntp

[root@localhost ~]# cat /etc/ntp.conf |awk '{if($0 !~ /^$/ && $0 !~ /^#/) {print $0}}'  
restrict default ignore   //默认不允许修改或者查询ntp,并且不接收特殊封包  
restrict 127.0.0.1        //给于本机所有权限  
restrict 192.168.1.0 mask 255.255.255.0 notrap nomodify  //给于局域网机的机器有同步时间的权限  
server time.nist.gov prefer      //设置时间服务器,加prefer表示优先  
server 0.asia.pool.ntp.org  
server 1.asia.pool.ntp.org  
server 2.asia.pool.ntp.org  
server  127.127.1.0     # local clock  
fudge   127.127.1.0 stratum 10  
driftfile /var/lib/ntp/drift  
keys /etc/ntp/keys

3、启动 ntp

[root@localhost ~]# /etc/init.d/ntpd start

4、查看并测试

[root@localhost ~]# netstat -upnl |grep ntpd   //查看时程    
[root@localhost ~]# ntpq -pn    //查看同步的服务器IP   
remote           refid      st t when poll reach   delay   offset  jitter  
==============================================================================   
50.77.217.185   .INIT.          16 u    -   64    0    0.000    0.000   0.000   
202.90.158.4    .INIT.          16 u    -   64    0    0.000    0.000   0.000   
202.71.100.89   .INIT.          16 u    -   64    0    0.000    0.000   0.000   
202.134.1.10    .INIT.          16 u    -   64    0    0.000    0.000   0.000  
*127.127.1.0     .LOCL.          10 l   18   64  377    0.000    0.000   0.001    
[root@localhost ~]# ntpstat   //同步的结果  
synchronised to local net at stratum 11   
time correct to within 12 ms   
polling server every 512 s

remote:即NTP主机的IP或主机名称。注意最左边的符号,如果由“+”则代表目前正在作用钟的上层NTP,如果是“*”则表示也有连上线,不过是作为次要联机的NTP主机。

refid:参考的上一层NTP主机的地址

st:即stratum阶层

when:几秒前曾做过时间同步更新的操作

poll:下次更新在几秒之后

reach:已经向上层NTP服务器要求更新的次数

delay:网络传输过程钟延迟的时间

offset:时间补偿的结果

jitter:Linux系统时间与BIOS硬件时间的差异时间

推荐第一种方法,虽然搭建个时间服务器,比较简单的,但是我觉得没有这个必要。如果用别人的时间服务器,每隔10分钟同步一次,可以精确到毫秒。

以上是linux怎么实现时间同步的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


当前标题:linux怎么实现时间同步
链接地址:http://myzitong.com/article/pgshdp.html