Linux/CentOS系统同步网络时间的2种方法详解

吾爱主题 阅读:139 2024-04-05 13:55:30 评论:0

由于硬件的原因,机器或多或少的跟标准时间对不上,一个月的误差几秒到几分钟不等。对于服务器来说时间不准,会有很多麻烦。例如,支付的时候,无法下单,游戏无法登录等。

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

如果系统没有 ntpdate 命令,可在线安装:

?
1 yum -y install ntp

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

?
1 2 3 4 5 6 [root@snsgou-pc src] # date 2015年 05月 20日 星期三 22:42:19 CST [root@snsgou-pc src] # ntpdate time.nist.gov 20 May 22:42:38 ntpdate[26759]: step time server 131.107.13.100 offset 2.117558 sec [root@snsgou-pc src] # date 2015年 05月 20日 星期三 22:43:17 CST

上面的情况表示跟网络时间同步成功。

我们可以用定时任务来定期同步时间

用 crontab -e 命令进入crontab编辑状态,追加如下定时任务文本

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

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

?
1 2 3 4 5 6 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 2 3 4 5 6 7 8 9 10 11 12 [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

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

4、查看并测试

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [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硬件时间的差异时间

以上即是本文要讲的Linux系统同步网络时间的2种方法,希望对大家有所帮助。

原文链接:https://www.cnblogs.com/52php/p/5677872.html

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容