由于硬件的原因,机器或多或少的跟标准时间对不上,一个月的误差几秒到几分钟不等。对于服务器来说时间不准,会有很多麻烦。例如,支付的时候,无法下单,游戏无法登录等。
方法一:用 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 sremote:即NTP主机的IP或主机名称。注意最左边的符号,如果由“+”则代表目前正在作用钟的上层NTP,如果是“*”则表示也有连上线,不过是作为次要联机的NTP主机。
refid:参考的上一层NTP主机的地址
st:即stratum阶层
when:几秒前曾做过时间同步更新的操作
poll:下次更新在几秒之后
reach:已经向上层NTP服务器要求更新的次数
delay:网络传输过程钟延迟的时间
offset:时间补偿的结果
jitter:Linux系统时间与BIOS硬件时间的差异时间以上即是本文要讲的Linux系统同步网络时间的2种方法,希望对大家有所帮助。
您可能感兴趣的文章:Linux系统中时间的获取和使用C语言获取Linux系统精确时间的方法Linux 判断文件修改时间和系统时间差设置Linux系统的空闲等待时间TMOUT的方法linux获取系统启动时间示例详解程序中获取linux系统启动时间方法Linux 修改系统时间的两种具体实现方式
