Linux的时间同步问题
Linux中使用ntp协议ntp协议更新自己计算机上的时间,一般有两种方式。
1、使用应用程序为ntpdate,需要使用root权限执行:
[root@csdba1850~]# ntpdate clepsydra.dec.com
9Jan 18:42:48 ntpdate[5897]: step time server 204.123.2.5 offset 1326.083882 sec
ntpdate运行过之后就退出了,为了保持时间的正确性,就要每隔一段时间自动进行时间同步,可以将ntpdate 放入cron中,每隔一段时间就执行一次,如:
10 5 * * * /usr/sbin/ntpdate 10.1.6.155;/sbin/hwclock -w
2、Linux系统提供了另一个守护进程,xntpd,能够自动周期进行时间同步的工作,这更为适合与Internet有永久连接的计算机。
为了运行xntpd守护进程,首先需要创建配 置文件:/etc/ntp.conf 文件,其中应包括时间服务器的名字和一个临时文件名。
serverclepsydra.dec.com
driftfile/var/lib/ntp/drift
然后就需要运行这个守护进程,进行时间同步。
#xntpd -c /etc/ntp.conf -p /var/run/xntpd.pid
其中-c参数指定了ntp.conf作配置文件,用xntpd.pid记录xntpd的进程标识序号。
ntpdate和xntpd都可以通过更改rc.conf中的选项,在启动时自动执行。
xntpd_enable="YES"# Run xntpd Network Time Protocol (or NO).
xntpd_program="xntpd"# path to xntpd, if you want a different one.
xntpd_flags="-c/etc/ntp.conf -p /var/run/xntpd.pid" # Flags to xntpd (if enabled).
如果要想让本地网络上的多台计算机都进行时间同步,那么每个计算机都与外部时间服务器连接的方法并不是一个好主意。更好的想法是使用一个计算机与外部时间服务器同步,那么它的时间就成为了标准时间,可以用作本地时间服务器,而其他计算机与这台本地时间
服务器同步就可以了。xntpd就是设计为这个目的,它能够用作提供时间的ntp服务器。
用作时间服务器的xntpd的配置文件应该 为:
serverclepsydra.dec.com
driftfile/etc/ntp.drift
broadcast192.168.1.255
其中增加了一项广播地址:192.168.1.255,定期向局域网上的其他计算机广播正确的时间。这个广播地址要根据自己的网络进行修改,或者使用对应于NTP协议的D类组播(multicast)网址224.0.1.1,但用户的网络必须支持组播能力。由于使用了广播或组播,这样网络内的其他计算机可以不配置ntp.conf,直接启动 xntpd,xntpd就能通过听服务器的广播信息来得到精确的时间。当然也可以不设定广播地址,而配置每个计算机中的ntp.conf文件,指定所有的计算机都访问这台时间服务器。
建议继续学习:
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:小霸王 来源: ilonng
- 标签: 时间同步
- 发布时间:2009-10-12 10:01:52
- [55] IOS安全–浅谈关于IOS加固的几种方法
- [53] android 开发入门
- [53] 如何拿下简短的域名
- [52] 图书馆的世界纪录
- [50] Go Reflect 性能
- [50] Oracle MTS模式下 进程地址与会话信
- [48] 【社会化设计】自我(self)部分――欢迎区
- [47] 读书笔记-壹百度:百度十年千倍的29条法则
- [36] 程序员技术练级攻略
- [29] 视觉调整-设计师 vs. 逻辑