概论
但在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 ~]# hwclock
Sun 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请求到服务器,以加快同步时间的速度。文章来源:https://www.toymoban.com/news/detail-847854.html
prefer:表示将此服务器设置为首选服务器,如果多个服务器都可用,则NTP客户端将优先选择被标记为"prefer"的服务器进行时间同步。文章来源地址https://www.toymoban.com/news/detail-847854.html
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 clock
fudge 127.127.1.0 stratum 10
到了这里,关于Linux下的时间同步,以及ntp时间服务器配置流程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!