Linux时间同步的2种方法

发表于:2016-7-19 10:35

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:owen zeng    来源:51Testing软件测试网采编

  由于硬件的原因,机器或多或少的根标准时间对不上,一个月的误差几秒到几分钟不等。对于服务器来说时间不准,会有很多麻烦。例如,支付的时候,无法下单,游戏无法登录等。自己用的PC就无所谓了,手动改一下就行了。
  一,用ntpdate从时间服务器更新时间
  如果你的linux系统根本没有ntpdate这个命令
  yum install ntp
  安装完了之后,你不要做什么配置,也不需要,直接测试一下
  [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分钟同步一次,可以精确到毫秒。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号