zoukankan      html  css  js  c++  java
  • Linux/CentOS 同步网络时间

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

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

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

    yum -y install ntp

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

    [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编辑状态,追加如下定时任务文本

    */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硬件时间的差异时间

    参考:

    http://blog.51yip.com/server/1474.html 

  • 相关阅读:
    Golang实现mysql where in 查询
    Golang终止程序运行(类似php die; exit;)和打印变量(print_r)
    (转)Unity中protobuf的使用方法
    (转)PlayerPrefs游戏存档
    Unity3d---> IEnumerator
    (转)Unity3D占用内存太大的解决方法
    UICamera(NGUI Event system)原理
    NGUI诡异的drawCall
    (转)U3D DrawCall优化手记
    (转)Unity3D
  • 原文地址:https://www.cnblogs.com/52php/p/5677872.html
Copyright © 2011-2022 走看看