目录

提示

chrony概述

chrony的程序配置

基本操作命令


提示

Linux Centos8 已不支持 yum install ntpdate 的软件包 

chrony概述

       chrony是CentOS7.x上自带的时间同步开源的自由软件,它能保持系统时钟与时钟服务器(NTP)同步,让时间保持精确。是一个ntp协议的实现程序,既可以当做服务端,也可以充当客户端;它专为间歇性互联网连接的系统而设计,当然也能良好应用于持久互联网连接的环境;chrony有三个时间参考:硬件时钟、实时时钟以及手动同步。

  它由两个程序组成:chronyd和chronyc。

  chronyd是一个后台运行的守护进程,用于调整内核中运行的系统时钟和时钟服务器同步。它确定计算机增减时间的比率,并对此进行补偿。

chronyc 客户端程序。

chrony的程序配置

#查询程序包安装目录文件信息
rpm -ql chrony

主配置文件:/etc/chrony.conf
客户端程序:/usr/bin/chronyc
服务端程序:/usr/sbin/chronyd

  • 1、chrony配置文件修改

配置参数说明

参数参数说明
server配置同步NTP服务器时间地址,建议配置二个以上。例:server cn.pool.ntp.org iburst
driftfilechronyd程序的主要行为之一,就是根据实际时间计算出计算机增减时间的比率,将它记录到一个文件中是最合理的,它会在重启后为系统时钟作出补偿,甚至可能的话,会从时钟服务器获得较好的估值。 系统默认
makestep通常,chronyd将根据需求通过减慢或加速时钟,使得系统逐步纠正所有时间偏差。在某些特定情况下,系统时钟可能会漂移过快,导致该调整过程消耗很长的时间来纠正系统时钟。该指令强制chronyd在调整期大于某个阀值时步进调整系统时钟,但只有在因为chronyd启动时间超过指定限制(可使用负值来禁用限制),没有更多时钟更新时才生效。 系统默认
rtcsyncrtcsync指令将启用一个内核模式,在该模式中,系统时间每11分钟会拷贝到实时时钟(RTC)
hwtimestamp在所有支持硬件的接口上启用硬件时间戳。系统默认
minsources增加需要调整的最小可选信号源数量 系统时钟。系统默认
allow允许指定网络的主机同步时间,不指定就是允许所有,默认不开启 例:192.168.0.0/16
local stratum默认不开启的选项,意思是,即使服务端没有同步到精确的网络时间,也允许向客户端同步不精确的时间。可以视情况而定。系统默认
keyfile

指定包含NTP身份验证密钥的文件。 系统默认

leapsectz从系统tz数据库中获取TAI-UTC偏移和闰秒。系统默认
logdir指定日志文件的目录。系统默认
log选择要记录的信息。系统默认

国内外常用NTP公共时间同步服务器可参考:https://blog.csdn.net/weixin_42588262/article/details/82501488

以下是推荐的中国NTP公共时间同步服务器

国家-中图:cn.pool.ntp.org

中国:cn.ntp.org.cn

阿里云:ntp.aliyun.com

腾讯云:time1.cloud.tencent.com

#配置文件修改
vi /etc/chrony.conf

可以直接用以下文本覆盖配置文件内容,再根据自身实际情况进行修改

#配置同步NTP服务器时间地址,建议配置二个以上
server ntp.aliyun.com iburst
server cn.pool.ntp.org iburst
server time1.cloud.tencent.com iburst

# 根据实际时间计算出计算机增减时间的比率,将它记录到一个文件中。
driftfile /var/lib/chrony/drift

# 时间纠偏
makestep 1.0 3

#rtcsync指令将启用一个内核模式,在该模式中,系统时间每11分钟会拷贝到实时时钟(RTC)
rtcsync

#在所有支持硬件的接口上启用硬件时间戳。
#hwtimestamp *

# 增加需要调整的最小可选信号源数量 系统时钟
#minsources 2

# 允许指定网络的主机同步时间,不指定就是允许所有,默认不开启
#allow 192.168.0.0/16
 
# 服务时间,即使未同步到任何NTP服务器也允许向客户端同步不精确的时间。 
#local stratum 10

# 指定包含NTP身份验证密钥的文件。
keyfile /etc/chrony.keys

#从系统tz数据库中获取TAI-UTC偏移和闰秒。
leapsectz right/UTC

#指定日志文件的目录。
logdir /var/log/chrony

#选择要记录的信息。
#log measurements statistics tracking
  • 2、重启服务
#重启服务
systemctl start chronyd.service
#设置开机启动服务
systemctl enable chronyd.service

#查看时间同步源,查看时间同步进度
chronyc sources –v 

chronyc sources –v #结果解释: *说明时间同步完成,如果为?说明不成功,检查防火墙再看看chronyd有没有重启。开启防火墙永久允许NTP服务

#永久允许对外提供NTP时间服务
firewall-cmd --add-service=ntp --permanent
firewall-cmd --reload

 

  • 3、调整时区

使用 timedatectl命令查询当前时区及日期信息,如果日期时间不对,应该是时区问题重新设置时区。

#查看日期时间、时区及NTP状态:
timedatectl

#查看时区列表: 
timedatectl list-timezones

#修改时区 
timedatectl set-timezone Asia/Shanghai

 

调整完时间,NTP服务器和服务器时间就设置完成了。 

基本操作命令

chrony操作

#停止chronyd服务
systemctl stop chronyd
#开始chronyd服务
systemctl start chronyd
#重启chronyd服务    
systemctl restart chronyd
#查看chronyd服务状态
systemctl status chronyd
#开机启动chronyd服务
systemctl enable chronyd
#禁止开机启动chronyd服务
systemctl disable chronyd

#查看时间同步源,查看时间同步进度
chronyc sources –v      

#查看时间同步源状态
chronyc sourcestats -v

#校准时间服务器:
chronyc tracking           

 timedatectl 时区/时间操作命令

#硬件时间默认为UTC:     
timedatectl set-local-rtc 0


#查看日期时间、时区及NTP状态:
timedatectl

#查看时区列表: 
timedatectl list-timezones

#修改时区 
timedatectl set-timezone Asia/Shanghai

#修改日期时间
timedatectl set-time "2020-03-05 12:20:00"

#开启NTP 
timedatectl set-ntp true/flase

 

 

 

 

Logo

更多推荐