博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux 时间同步的2种方法
阅读量:6372 次
发布时间:2019-06-23

本文共 2126 字,大约阅读时间需要 7 分钟。

由于硬件的原因,机器或多或少的根标准时间对不上,一个月的误差几秒到几分钟不等。对于服务器来说时间不准,会有很多麻烦。例如,支付的时候,无法下单,游戏无法登录等。自己用的PC就无所谓了,手动改一下就行了。

 

一,用ntpdate从时间服务器更新时间

如果你的linux系统根本没有ntpdate这个命令

  1. yum install ntp  

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

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

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

  1. */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

  1. yum install ntp  

2,配置ntp

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

3,启动 ntp

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

4,查看并测试

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

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

refid:参考的上一层NTP主机的地址
st:即stratum阶层
when:几秒前曾做过时间同步更新的操作
poll:下次更新在几秒之后
reach:已经向上层NTP服务器要求更新的次数
delay:网络传输过程钟延迟的时间
offset:时间补偿的结果
jitter:Linux系统时间与BIOS硬件时间的差异时间

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

转载地址:http://vwyqa.baihongyu.com/

你可能感兴趣的文章
HDU 1538 A Puzzle for Pirates(海盗分金问题)
查看>>
C# Web Forms - Using jQuery FullCalendar
查看>>
H5移动端知识点总结
查看>>
Sublime-Text-2-pydocstring --- 自动生成python docstring的插件
查看>>
UNIX进程环境
查看>>
学习面试题Day03
查看>>
我最喜欢的jQuery插件模板
查看>>
【云计算】Docker 多进程管理方案
查看>>
[LeetCode] Best Meeting Point 最佳开会地点
查看>>
基于InstallShield2013LimitedEdition的安装包制作
查看>>
【转】从Shell脚本内部将所有标准输出及标准错误显示在屏幕并同时写入文件的方法...
查看>>
iOS开发小技巧--利用MJExtension解决数据结构复杂的模型转换
查看>>
Python中的图形库
查看>>
Linux操作系统分析 ------------------中国科技大学
查看>>
Apache多站点实现原理和配置
查看>>
javascript类型系统——包装对象
查看>>
Android4.4中不能发送SD卡就绪广播
查看>>
解决:sudo: 无法解析主机:dinphy-500-310cn: 连接超时
查看>>
Asp.Net多线程用法1
查看>>
exFAT是支持Mac和Win的
查看>>