ntpdate与ntpd两种时间同步方式

ntpdate与ntpd两种时间同步方式,第1张

同步时间,可以使用ntpdate命令,也可以使用ntpd服务。

ntpdate时间同步命令很简单

但这样的同步,只是强制性的将系统时间设置为ntp服务器时间。如果cpu tick有问题,只是治标不治本。所以,一般配合cron命令,来进行定期同步设置。比如,在crontab中添加:

这样,会在每天的12点整,同步一次时间。ntp服务器为19216801。

使用ntpd服务,要好于ntpdate加cron的组合。

因为,ntpdate同步时间,会造成时间的跳跃,对一些依赖时间的程序和服务会造成影响。比 如sleep,timer等。而且,ntpd服务可以在修正时间的同时,修正cpu tick。

理想的做法为,在开机的时候,使用ntpdate强制同步时间,在其他时候使用ntpd服务来同步时间。

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

配置文件就是/etc/ntpconf。

为了测试,设置让node2 -- 1921681102和node1 -- 1921681101做时间同步。
第一步,
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/ntpconf,
[root@node1 ~]vi /etc/ntpconf
其他的配置不怎么需要改,只需要关注restrict的配置:

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

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

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

server 12712710 # local clock
fudge 12712710 stratum 10

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

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

4 /etc/initd/ntpd restart

5 chkconfig ntpd on

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

第三步,
这样node1就成为一台time server了,现在我们配置node2这台机器,也是修改/etc/ntpconf ,
[root@node2 ~]vi /etc/ntpconf

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

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

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


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

第四步,将ntpdate放到crontab中定期步也是可以的
[root@node2 ~]#vi ntpupdatesh
/usr/sbin/ntpdate 1921681101
[root@node2 ~]#chmod 755 ntpupdatesh
[root@node2 ~]#crontab -e
/1 /root/ntpupdatesh
[root@node2 ~]#/etc/initd/crond restart

工具/原料:

Debian

ntpdate

1使用root用户登录Debian系统,然后使用“apt-cache search ntpdate”查看本地源中是否包含ntpdate软件。如果包含可以进行下一步,如果不包含,请跟换其他的源地址并重新更新源。重新搜索确认ntpdate是否存在。

2使用“apt-get install ntpdate”命令,安装ntpdate软件。如果出现下图所示结果即表示安装成功。

3对于Debian的系统时间与NTP服务器时间同步,必须要有一个NTP服务器的IP地址。以下截图为国内常用NTP服务器IP地址。

4使用“ntpdate ntpsjtueducn ”和“ntpdate 2021202101”命令,都可以同步NTP服务器时间,并且两个命令代表同一台服务器。

5由于Debian系统长时间运行,经常性导致系统时间变慢,因此可以使用命名“crontab -e ”,并在文件中添加如下一行“/30 /usr/sbin/ntpdate timecuiteducn ”,表示没30分钟,系统自动同步一次时间。

6使用命令“date”查看系统当前时间,看看ntpdate命令是否生效。

Linux

时间同步命令:
ntpdate
linux系统下默认安装了ntp服务,手动进行ntp同步如下
$ntpdate
ntp1nlnet
当然,也可以指定其它的ntp服务器
公网上的NTP服务器列表:
>

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

原文地址: http://outofmemory.cn/zz/13051247.html

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

发表评论

登录后才能评论

评论列表(0条)

保存