linux系统如何设置时间同步?

linux系统如何设置时间同步?,第1张

可以使用ntpdate命令。ntpdate命令使用网络时间协议(NTP)设置日期和时间,通过轮询指定的确定正确时间的NTP服务器来设置本地日期和时间。它从指定的每个服务器获得了一些样本,并应用标准NTP时钟过滤器和选择算法来选择最好的样本。

命令格式:ntpdate 时间服务器

用法示例:$ ntpdate pool.ntp.org

设置时间同步脚本,虽然以上已经同步了时间,但是由于计时精度的原因,时间的误差会增大。可以通过设置计划任务,每天0点同步一下。

打开crontab进行编辑:$ crontab -e

在crontab任务文件添加:0 0 * * * root ntpate -s pool.ntp.org

-s参数指定将日志输出到syslog,而不是标准输出。

Linux自带了ntp服务 -- /etc/init.d/ntpd,这个服务不仅可以设置让本机和某台/某些机器做时间同步,他本身还可以扮演一个time server的角色,让其他机器和他同步时间。

配置文件就是/etc/ntp.conf。

为了测试,设置让node2 -- 192.168.1.102和node1 -- 192.168.1.101做时间同步。

第一步,node1做time server,node1本身不和其他机器时间同步,就是取本地时间。

所以,先把node1机器的时间调准了:

[root@node1 ~]date -s 08/03/2011

[root@node1 ~]date -s 11:12:00

[root@node1 ~]clock -w

[root@node1 ~]hwclock --systohc

后两个命令是把设置的时间写到硬件时间中去(也就是CMOS里面的时间)。

第二步,然后将node1配置成一个time server,修改/etc/ntp.conf,

[root@node1 ~]vi /etc/ntp.conf

其他的配置不怎么需要改,只需要关注restrict的配置:

1. 注释掉原来的restrict default ignore这一行,这一行本身是不响应任何的ntp更新请求,其实也就是禁用了本机的ntp server的功能,所以需要注释掉。

2. 加入:restrict 192.168.1.0 mask 255.255.255.0 -- 让192.168.1.0/24网段上的机器能和本机做时间同步

3. 这样就可以了,记得下面的:

server 127.127.1.0 # local clock

fudge 127.127.1.0 stratum 10

这两行需要,这是让本机的ntpd和本地硬件时间同步。

当然,我们也可以添加server xxx.xxx.xxx.xxx,让他和其他的time server时间同步。

4. /etc/init.d/ntpd restart

5. chkconfig ntpd on

6. 修改iptables配置,将tcp和udp 123端口开放,这是ntp需要的端口,在/etc/services中可以查到这个端口。

第三步,这样node1就成为一台time server了,现在我们配置node2这台机器,也是修改/etc/ntp.conf ,

[root@node2 ~]vi /etc/ntp.conf

1. restrict default ignore这行保留为注释状态,因为sales不需要做time server

2. 注释掉server 127.127.1.0, fudge 127.127.1.0 stratum 10这两行,因为这台机器不需要和本地硬件时钟同步了。

3. 加入server 192.168.1.101这行,和node1机器同步。

这样就OK了。看看时间,已经和node1同步了。往后默认配置好像是5分钟和time server同步一次。ntpdate命令是显式的和某台机器做时间同步,以前将ntpdate放到crontab中定期同步也是可以的,但是既然ntpd本身就可以做这个时间

第四步,将ntpdate放到crontab中定期步也是可以的

[root@node2 ~]#vi ntpupdate.sh

/usr/sbin/ntpdate 192.168.1.101

[root@node2 ~]#chmod 755 ntpupdate.sh

[root@node2 ~]#crontab -e

*/1 * * * * /root/ntpupdate.sh

[root@node2 ~]#/etc/init.d/crond restart

一、设置A服务器为时间服务器(加入A服务器IP为172.18.102.2)

1 修改 /etc/ntp.conf,如下所示:

 命令:vi /etc/ntp.conf

 内容:

# Undisciplined Local Clock. This is a fake driver intended for backup

# and when no outside source of synchronized time is available.

server 127.127.1.0 # local clock

#fudge 127.127.1.0 stratum 10

2 启动时间服务器,命令如下:

 service ntpd status

 service ntpd start

3 查看启动结果,如下所示:

 命令:ntpq -p

 结果:

remote refid st t when poll reach delay offset jitter

==============================================================================

*LOCAL(0) .LOCL. 5 l 2 64 377 0.000 0.000 0.000

4 设置自启动,命令如下:

 chkconfig ntpd on

二、设置需要同步的服务器

1 修改 /etc/ntp.conf,如下:

 命令:vi /etc/ntp.conf

 内容:

# Undisciplined Local Clock. This is a fake driver intended for backup

# and when no outside source of synchronized time is available.

server 172.18.102.2 # local clock 与服务器A机时间同步

fudge 172.18.102.2 stratum 10

2 启动时间服务器,命令如下:

 service ntpd status

 service ntpd start

3 查看启动结果,如下所示:

 命令:ntpq -p

 结果:

remote refid st t when poll reach delay offset jitter

==========================《Linux就该这么学》一起学习linux

172.18.102.2 LOCAL(0) 6 u 5 64 1 1.377 -7077.8 0.000

4 设置自启动,命令如下:

 chkconfig ntpd on

5 立即同步

 ntpdate -d 172.18.102.2


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8397996.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-16
下一篇 2023-04-16

发表评论

登录后才能评论

评论列表(0条)

保存