- 论坛徽章:
- 0
|
4. 时间服务器的运行和观察
4.1. 启动NTP
使用/etc/init.d/ntpd start启动
[root@otrs-070322 zoneinfo]# /etc/init.d/ntpd start
Starting ntpd: [ OK ]
netstat -tlunp |grep ntpd
[root@otrs-070322 zoneinfo]# netstat -tlunp | grep ntp
udp 0 0 192.168.0.244:123 0.0.0.0:* 15734/ntpd
udp 0 0 127.0.0.1:123 0.0.0.0:* 15734/ntpd
udp 0 0 0.0.0.0:123 0.0.0.0:* 15734/ntpd
udp 0 0 :::123 :::* 15734/ntpd
这样就好了,NTP服务已经启动,不过与上层服务器同步时间需要时间,下面介绍几个查看的命令。
4.2. 观察NTP
4.2.1. ntpstat 此命令显示本机上一次和上层服务器同步时间的情况。
[root@otrs-070322 ~]# ntpstat
synchronised to NTP server (210.72.145.44) at stratum 2
time correct to within 122 ms
polling server every 1024 s
表示和上层服务器210.72.145.44进行过时间同步,上层时间服务器是第二级,同步后的时间误差为122ms,每1024s同步一次。
4.2.2. ntptrace –n 127.0.0.1 此命令显示本服务器和上层服务器之间的关系
[root@otrs-070322 ~]# ntptrace 127.0.0.1
otrs-070322: stratum 2, offset 0.023608, synch distance 0.069643
210.72.145.44: timed out, nothing received
***Request timed out
上层服务器我们无法管理,所以timed out是正常的。
4.2.3. ntpq –p 列出本地NTP上层NTP的状态
[root@otrs-070322 ~]# ntpq -p
remote refid st t when poll reach delay offset jitter
========================================================
*210.72.145.44 .ACTS. 1 u 1 16 377 31.233 -466.12 32.946
LOCAL(0) LOCAL(0) 10 l 34 64 377 0.000 0.000 0.001
各字段意义为:
remote:亦即是 NTP 主机的 IP 或主机名称。最左边的符号, 如果有“+”代表目前正在作用当中的上层 NTP ,如果是“*”代表能连上,不过是作为次要联机的 NTP 主机;
refid:参考的上一层 NTP 主机的地址;
st:就是 stratum,服务器所处的等级;
when:几秒钟前曾经做过时间同步化更新的动作;
poll:下一次更新在几秒钟之后;
reach:已经向上层 NTP 服务器要求更新的次数;
delay:网络传输过程当中延迟的时间,单位为 10^(-6) s;
offset:时间补偿的结果,单位为10^(-6)s;
jitter:Linux 系统时间与 BIOS 硬件时间的差异时间, 单位为10^(-6)s。
可以看到当前获得的时间误差在-466.12^(6)s,也就是-0.00046612秒,这还不够你臭屁的。同时,在/var/lib/ntp/drift中记载了系统时间和BIOS时间的误差值,单位也是10^(-6)s。
5. 客户端时间更新
5.1. 手动校时
5.1.1. 时区设定
前面已经说明,不再累述。
5.1.2. 系统时间设定
使用data命令即可,命令格式如下:
date MMDDhhmmYYYY
其中:
MM:月份
DD:日期
hh:小时
mm:分钟
YYYY:年份
如设定为 2007年4月10日13:51
[root@otrs-070322 ~]# date 041013512007
Tue Apr 10 13:51:00 CST 2007
5.1.3. BIOS时间设定
使用的命令是hwclock,格式如下:
hwclock [-rw]
参数:
-r:读取BIOS时间;
-w:写入BIOS时间。
如:
[root@otrs-070322 ~]# hwclock -r
Tue 10 Apr 2007 01:56:10 PM CST -0.092955 seconds
[root@otrs-070322 ~]# hwclock –w
5.2. 网络校时
使用ntpdate命令进行网络校时,命令格式如下:
[root@linux ~]# ntpdate [NTP IP/hostname]
参数:
NTP可接IP和主机名。
记住,使用该命令校时后,仅仅更新了系统时间,因此需要再使用hwclock命令更新BIOS时间。
如:
[root@localhost ~]# ntpdate 210.72.145.44
10 Apr 14:07:34 ntpdate[27039]: step time server 210.72.145.44 offset 0.509997 sec
[root@localhost ~]# hwclock -w
将这两条命令写入crontab,就达到了自动同步时间的目的了
[root@linux ~]# crontab –uroot –p -e
10 5 * * * /usr/sbin/ntpdate tock.stdtime.gov.tw && /sbin/hwclock -w
6. 附:Windows的网络校时
其实这样搭建出来的NTP服务器,Windows中也可以用,只需要在windows的时间设置面板,进入Internet时间选项卡,勾选自动与Internet时间服务器同步,再在下面添上NTP服务器的IP地址就可以了,如下图:
![]()
7. 参考资料
l 《鸟哥的私房菜》系列
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/29953/showart_275041.html |
|