Linux下的时间同步,以及ntp时间服务器配置流程
概论常见时间操作命令Linux下的系统时间配置Linux硬件的时间的设置系统时间和硬件时间的同步NTP服务器时间的同步NTP服务的安装NTP的时间同步定时任务里的时间同步配置文件同步时间
概论
但在Linux下,系统时间和硬件时间并不会自动同步。在Linux运行过程中,系统时间和硬件时间以异步的方式运行,互不干扰。硬件时间的运行,是靠BIOS电池来维持,而系统时间,是用CPU来维持的。在系统开机的时候,会自动从BIOS中取得硬件时间,设置为系统时间。
常见时间操作命令
命令 | 功能 |
---|---|
date命令 | 查看系统时间,设置时间 |
hwclock命令 | 查看硬件时间,可以让系统时间和硬件时间的同步 |
ntpdate命令 | 可以让不同机器之间同步时间 |
Linux下的系统时间配置
date 命令有多种时间格式可以配置,查看date --help可尝试配置信息
如下:
[root@localhost ~]# date //查看系统时间Sun Feb 25 17:06:00 CST 2024[root@localhost ~]#[root@localhost ~]#[root@localhost ~]# date -s "20240225 19:06:00" //修改系统时间(yyyymmdd hh:mm:ss)Sun Feb 25 19:06:00 CST 2024
Linux硬件的时间的设置
[root@localhost ~]# hwclock //查看硬件时间(hwclock --show 或hwclock -r也可以)Sun Feb 25 2024 7:06:59 PM CST -0.10265 seconds[root@localhost ~]#[root@localhost ~]#[root@localhost ~]# hwclock --set --date "20240225 20:00:00"[root@localhost ~]# hwclockSun 25 Feb 2024 08:00:00 PM CST -0.936520 seconds
系统时间和硬件时间的同步
[root@localhost ~]# hwclock --systohc //以系统时间同步硬件时间[root@localhost ~]# hwclock -w //以系统时间同步硬件时间[root@localhost ~]#[root@localhost ~]#[root@localhost ~]# hwclock --hctosys //以硬件时间同步系统时间[root@localhost ~]# hwclock -s
NTP服务器时间的同步
主机长时间运行会导致时间偏差,有必要进行进行时间同步工作。Linux系统下,一般使用ntp服务器来同步不同机器的时间。一台机器,可以同时是ntp服务端和ntp客户端。通常可以使用ntpdate命令或者ntpd服务来同步时间。
NTP服务的安装
[root@localhost ~]# yum install -y ntp //安装ntp服务[root@localhost ~]# systemctl start ntpd //启动ntp服务[root@localhost ~]# systemctl enable ntpd //将ntp服务加入开机自启动
NTP的时间同步
命令格式:ntpdate [NTP服务器IP或主机名]
[root@localhost ~]# ntpdate 192.168.1.1[root@localhost ~]# ntpdate ntpseerver.com
定时任务里的时间同步
通常我们会在定时任务里添加相关命令来实现定期同步时间,在crontab中添加:
每天的12点同步时间
0 12 * * * /usr/sbin/ntpdate 192.168.1.1
配置文件同步时间
打开/etc/ntp.conf,该文件为ntp服务的配置文件,通过操作该配置文件可以,进行相关的时间同步操作。
在restrict添加授时服务网址、网段,即可接入NTP的地址。
在server添加NTP时钟源,此处添加的阿里云的NTP服务地址。若使用本地时钟作为时间源,只须保证本地时钟源IP正确即可。
如果server中存在操作系统默认的NTP时钟源(0.centos.pool.ntp.org、0.ubuntu.pool.n等),需将其注释掉。
server IP 后可接关键字iburst、prefer、minpoll、maxpoll等:
iburst:表示在启动时快速同步时间。通常情况下,NTP客户端会与服务器建立连接并等待一段时间才能同步时间。但是,如果使用"iburst"关键字,客户端将在启动时发送多个NTP请求到服务器,以加快同步时间的速度。
prefer:表示将此服务器设置为首选服务器,如果多个服务器都可用,则NTP客户端将优先选择被标记为"prefer"的服务器进行时间同步。
restrict default nomodify notrap noquery # 关闭所有的 NTP 要求封包restrict 127.0.0.1 #这是允许本机查询restrict 192.168.1.1 mask 255.255.255.0 nomodify#在192.168.0.1/24网段内的服务器就可以通过这台NTP Server进行时间同步了 # 要设定上层主机主要以 server 这个参数来设定,语法为:# server [IP|HOST Name] [prefer]server 1.pool.ntp.org prefer#其他设置值,以系统默认值即可server 127.127.1.0 # local clockfudge 127.127.1.0 stratum 10