Linux系统下的NTP配置

Linux系统下的NTP配置,第1张

第一步,选择最好的NTP服务地址

具体命令为ntpdate -q IP地址或域名
广东地区NTP优选结果如下:

①time4cloudtencentcom

②server timeasiaapplecom

③server cnntporgcn

④server ntpaliyuncom

⑤server cnpoolntporg

检查BIOS主板时间的命令

hwclock -r

NTP服务启停命令

sudo systemctl start/stop ntpd

检查查看ntp服务器有无和上层ntp连通

ntpstat

查看ntp服务器与上层ntp的状态

ntpq -pn
===server选项格式===

server host  [ key n ] [ version n ] [ prefer ] [ mode n ] [ minpoll n ] [ maxpoll n ] [ iburst ]

其中host是上层NTP服务器的IP地址或域名,随后所跟的参数解释如下所示:

◆ key: 表示所有发往服务器的报文包含有秘钥加密的认证信息,n是32位的整数,表示秘钥号。

◆ version: 表示发往上层服务器的报文使用的版本号,n默认是3,可以是1或者2。

◆ prefer: 如果有多个server选项,具有该参数的服务器优先使用。

◆ mode: 指定数据报文mode字段的值。

◆ minpoll: 指定与查询该服务器的最小时间间隔为2的n次方秒,n默认为6,范围为4-14。

◆ maxpoll:  指定与查询该服务器的最大时间间隔为2的n次方秒,n默认为10,范围为4-14。

◆ iburst: 当初始同步请求时,采用突发方式接连发送8个报文,时间间隔为2秒。
===同步硬件时钟===

ntp服务,默认只会同步系统时间。

如果想要让ntp同时同步硬件时间,可以设置/etc/sysconfig/ntpd文件,

在/etc/sysconfig/ntpd文件中,添加SYNC_HWCLOCK=yes这样,就可以让硬件时间与系统时间一起同步。

允许BIOS与系统时间同步,也可以通过hwclock -w 命令。

hwclock命令用来查询和设置硬件时钟。

hwclock -r 读取并打印硬件时钟

hwclock -s 将硬件时钟同步到系统时钟

hwclock -w  将系统时钟同步到硬件时钟

系统时钟与硬件时钟

在Linux中有硬件时钟与系统时钟等两种时钟。硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟。系统时钟则是指kernel中的时钟。当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作。所有Linux相关指令与函数都是读取系统时钟的设定。

参考文档:

Linux服务器NTP客户端配置——>使用date命令即可设置系统时间。
1 、查看系统时间
date //详细用法可参考《linux就该这么学》第二章
2、设置当前系统时间为2015年5月8日19点48分0秒
date -s "2015-5-8 19:48:00"

可以使用ntpdate命令。ntpdate命令使用网络时间协议(NTP)设置日期和时间,通过轮询指定的确定正确时间的NTP服务器来设置本地日期和时间。它从指定的每个服务器获得了一些样本,并应用标准NTP时钟过滤器和选择算法来选择最好的样本。
命令格式:ntpdate 时间服务器
用法示例:$ ntpdate poolntporg
设置时间同步脚本,虽然以上已经同步了时间,但是由于计时精度的原因,时间的误差会增大。可以通过设置计划任务,每天0点同步一下。
打开crontab进行编辑:$ crontab -e
在crontab任务文件添加:0 0 root ntpate -s poolntporg
-s参数指定将日志输出到syslog,而不是标准输出。

怎么修改服务器时间?是一个很勇敢的客户,基本上不懂怎么 *** 作linux系统,但是愿意买了,来享受我司的一些免费指导和来提高自学能力,用他自己的话说,这就跟花钱去健身房一样,其实运动在哪都可以做,但是花钱了,就必须 来学学,来看看,要不就对不起自己的钱,跟钱做对,那是多大的罪名啊今天我就简单讲下, 比较简短,首先下一个远程连接工具吧就是我图中的那个:“putty” 直接百度,然后去下载一个,下载好之后双击点开点开之后就是这样了,看到图中的四个步骤了吧1,指的是你这个服务器的IP,填入到里边2,是服务器端口,默认的都是22,3,ssh是一种连接方式,你就选择这个吧4,就是确定连接了打开了然后就开始进入那个很不和谐的指令世界了login as:就是账户,linux系统下的账户默认就是root,就跟window下的administrator一样输入root后,你就直接按下 enter键,然后就会让你输入password密码:你输入就是了,但是linux有个和window不同的热点就是,他的输入密码的同时,你看不到在输入的状态,所以你甭管,按照密码输入就好了,当然有时候输入会错误,那就小心 点或者多输入几次,同样输入完成后 enter这样算是登录上了,算是远程连接上了今天只讲一个就是修改服务器时间,还是和刚才登录输入指令一样:date -s 09:35:21hw -w 即可这样时间就被修改了,记着这2个中间是有空格的,要不就是我上面那样了,你就可以退出来了

步骤和方法
1>
找到相应的时区文件 /usr/share/zoneinfo/Asia/Shanghai
用这个文件替换当前的/etc/localtime文件。
或者找你认为是标准时间的服务器,然后
#scp root@xxxxxxxxxxxx:/etc/localtime /etc/localtime
2>
修改/etc/sysconfig/clock文件,修改为:
ZONE="Asia/Shanghai"
UTC=false
ARC=false
修改日期时间:
1>
用date修改日期时间
#date -s 08/24/2006
#date -s 13:02:00
2>
同步BIOS时钟,强制把系统时间写入CMOS
#clock -w
另外,查看Bois时间用 #hwclock -r
#tzselect 可以交互式修改时区
Linux修改系统时区
1 查看当前时区
# vi /etc/sysconfig/clock
2 修改设置时区
方法(1) # tzselect 方法(2 仅限于RedHat Linux 和 CentOS) # timeconfig
3 复制相应的时区文件,替换系统默认时区
# cp /usr/share/zoneinfo/$主时区/$次时区 /etc/localtime 对于中国服务器则执行: # cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
4 将当前时间写入BIOS永久生效(避免重启后失效)
# hwclock

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


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存