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文件,指定所有的计算机都访问这台时间服务器。
Linux的时间同步问题
最新推荐文章于 2025-05-13 16:29:21 发布