linuxntp同步
① 配置linux的时钟同步
Ubuntu系统默认的时钟同步服务器是ntp.ubuntu.com,Debian则是0.debian.pool.ntp.org等, 各Linux发行版都有自己的NTP官方服务器。身在中国,使用这些都会有高延迟,但对时钟同步这件事来说影响不大。
在某些环境下,比如公司内网、云上子网等,是与互联网隔绝的。这时要想做时钟同步,就只能自己配置了。
本文介绍如何自己配置时钟同步,不介绍如何自建NTP服务器。
一般timesync是预装的。如果没有,可以使用以下命令手动安装。
sudo apt install systemd-timesyncd 它和ntp是冲突的,二者只能安装一个。
修改/etc/systemd/timesyncd.conf,把NTP设为华为内绿区可达的NTP服务器。
修改完成后,需要restart后这个配置才生效。
如果以上systemd-timesyncd.service因为什么原因而不存在,则可通过以下命令修复:
一般查看日期与时间是使用date。使用timedatectl可以查看到更多时钟同步相关信息。
以下给出一些阿里云的NTP列表,可以通过ping择优使用。
以上就是 良许教程网 为各位朋友分享的配置Linux的时钟同步。
最后,最近很多小伙伴找我要 Linux学习路线图 ,于是我根据自己的经验,利用业余时间熬夜肝了一个月,整理了一份电子书。无论你是面试还是自我提升,相信都会对你有帮助!目录如下:
免费送给大家,只求大家金指给我点个赞!
电子书 | Linux开发学习路线图
也希望有小伙伴能加入我,把这份电子书做得更完美!
推荐阅读:
② linux修改ntp时钟同步
Linux停止ntp服务即可关闭时间同步。①关闭ntp服务(临时设置重启后自动开启) service ntpd stop②设置永久关闭ntp服务(重启后也是关闭的) chkconfig ntpd off
③ 想要让XP系统成为NTP服务器使得LINUX系统可以与之同步
1、将服务器类型更改为
NTP。为此,请按照下列步骤操作:
a.
单击“开始”,单击“运行”,键入
regedit,然后单击“确定”。
b.
找到并单击下面的注册表子项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\Type
c.
在右窗格中,右键单击“Type”,然后单击“修改”。
d.
在“编辑值”的“数值数据”框中键入
NTP,然后单击“确定”。
2、设置服务器,开始菜单,输入regedit命令后打开注册表。
3、修改以下选项的键
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer内的“Enabled”设定为1,打开NTP服务器功能。(默认是不开启NTP
Server服务,除非计算机升级成为域控制站)
4、修改以下键值
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\AnnounceFlags设定为5,该设定强制主机将它自身宣布为可靠的时间源,从而使用内置的互补金属氧化物半导体(CMOS)
时钟。该设定强制主机将它自身宣告为可靠的时间源,从而运用内置的互补金属氧化物半导体
(CMOS)
时钟。假如要采用外面的时间服务器就用默认的
a
值即可.
5、在命令行执行以下命令重启Win32Time服务,确保以上修改起作用
net
stop
w32time
net
start
w32time
6、其他:如果该服务器和internet连接,那么为了避免服务器和internet上的ntp同步,最好追加以下配置:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient的“enable”设定为0
以防止作为客户端自动同步外界的时间服务
7、执行linux同步命令
ntpdate
192.168.1.1
#(服务器IP地址)
hwclock
--systohc
#把时间写入硬件
④ Linux系统下的NTP配置
第一步,选择最好的NTP服务地址
具体命令为ntpdate -q IP地址或域名
广东地区NTP优选结果如下:
①time4.cloud.tencent.com
②server time.asia.apple.com
③server cn.ntp.org.cn
④server ntp.aliyun.com
⑤server cn.pool.ntp.org
检查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客户端配置——https://www.cnblogs.com/paul8339/p/10059364.html
NTP服务、客户端配置详解——https://blog.51cto.com/u_11392081/1784080
⑤ 如何使两台linux服务器时间同步
Linux自带了ntp服务 -- /etc/init.d/ntpd,这个服务不仅可以设置让本机和某台/某些机器做时间同步,他本身还可以扮演一个timeserver的角色,让其他机器和他同步时间。
配置文件就是/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 -s11: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
⑥ LINUX时间同步脚本或命令!
Linux
下
时间同步命令:
ntpdate
linux系统下默认安装了ntp服务,手动进行ntp同步如下
$ntpdate
ntp1.nl.net
当然,也可以指定其它的ntp服务器
公网上的NTP服务器列表:
http://www.pool.ntp.org/zone/asia
根据这个列表,中国有个服务器:cn.pool.ntp.org
用
ntpdate
命令来同步时间:
ntpdate
cn.pool.ntp.org
可以将这个命令加到
cron
table
里面,每天执行。
⑦ linux 时间同步ntp问题,客户端如何同步时间
解决方案:
在linux 上配置NTP 时间同步,具休操作步骤,整理如下:
1. 安装软件包(在服务端和客户端):
yum install ntp
2. 服务器端配置
例如:
首先,服务端设定IP地址为:192.168.146.110
修改ntp配置文件
vim /etc/ntp.conf
server 0.redhat.pool.ntp.org //设定上级服务器
restrict 192.168.146.0 mask 255.255.255.0 nomodify //设定哪些client机器可以和ntp server进行同步
//启动NTP服务前,手动校正一次时间
ntpdate 0.redhat.pool.ntp.org
service ntpd restart
chkconfig ntpd on
//查看ntp服务状态
netstat -ln | grep 123
ntpstat
3.客户端配置:
ntpdate 192.168.146.110 //与NTP server 同步时间
或者定期同步
crontab -e
*/5 * * * * /usr/sbin/ntpdate -u 192.168.146.110 //每五分钟同步一次
重启crond服务/etc/init.d/crond restart
ntpq -p //查看同步状态
