【Linux】如何调整服务器上的时区,并将系统时钟与NTP时钟源同步?


hello大家好😊

chronyd

对于在多个系统间分析日志文件而言,正确同步时间至关重要。网络时间协议(NTP)是计算机用于通过互联网提供并获取正确时间信息的一种标准方法。计算机可以与互联网上的公共NTP服务器时间源同步,也可以通过高质量硬件时钟为本地客户端提供准确时间。

硬件时钟,也称为实时时钟(RTC,Real-Time Clock),是计算机系统中的一个硬件组件,用于持续跟踪时间,即使计算机关闭或断电

硬件时钟通常采用晶振或其他精准的时钟源来生成一个稳定的时钟信号,以测量时间的流逝。这个时钟信号被用来追踪日期和时间,不仅仅是在计算机开机和运行的时候,还包括计算机关机或断电的时候。
硬件时钟的作用是在计算机启动时提供一个初始的时间基准,使操作系统能够开始跟踪时间。在计算机开机时,操作系统会读取硬件时钟的值,并将其作为初始时间。然后,操作系统会继续跟踪时间,使用定时器等机制来保持时间的准确性。当系统关机或重启时,操作系统通常会将当前的系统时间写入硬件时钟,以便下次启动时有一个准确的时间基准。

chronyd 是一个时间同步守护进程,它主要用于同步系统时间。具体来说,它可以执行以下两个主要任务:

  • 同步系统时间:chronyd 使用网络时间协议(NTP)与外部的 NTP 服务器通信,从而同步系统时间。它会周期性地与 NTP
    服务器进行通信,以确保系统时间保持准确和同步。通过与 NTP 服务器进行通信,chronyd
    可以调整系统时间,使其与全球标准时间保持一致。
  • 管理硬件时钟(RTC):尽管 chronyd
    的主要任务是同步系统时间,但它也可以在系统关机或重启时,将当前系统时间写入硬件时钟(RTC)。这个操作确保在下次启动时,硬件时钟提供一个准确的时间基准,以便系统可以从这个时间基准开始同步。

总结起来,chronyd 主要用于同步系统时间,而不是直接同步硬件时钟(RTC)。它通过与 NTP 服务器通信,调整系统时间,以保持系统的准确性和同步性。然后,在关机或重启时,它可以将当前系统时间写入硬件时钟,以确保下次启动时有一个准确的时间基准

更改服务器上的时区

timedatectl 是一个用于管理系统时间和日期设置的命令行工具。它可以显示当前系统的时间、日期、时区等信息。也可以使用这个命令进行相关的时间配置。

示例:

在这里插入图片描述

  • Local time: 显示当前本地时间
  • Universal time: 显示当前的协调世界时(UTC)
  • RTC time: 显示硬件时钟(实时时钟)的时间
  • Time zone: 显示当前设置的时区。在本例中是中国上海,它对应于中国的标准时间(CST,China Standard Time)
  • System clock synchronized:这个属性表示系统时钟是否已经同步。如果它显示为 “yes”,则表示系统时钟已经同步,与 NTP 服务器或其他时间源保持一致。如果显示为 “no”,则表示系统时钟可能尚未同步,或者存在时间偏差
  • NTP service:这个属性表示是否启用了网络时间协议(NTP)服务。如果它显示为 “active”,则表示 NTP 服务处于活动状态,系统正在尝试与 NTP 服务器同步时间。如果显示为 “inactive”,则表示 NTP 服务未启用,系统不会自动与 NTP 服务器同步时间
  • RTC in local TZ: 显示硬件时钟是否在本地时区(是或否)。在这个示例中,硬件时钟不在本地时区

通过timedatectl list-timezones可以查看系统提供的包含时区的数据库。

示例:

在这里插入图片描述

我们可以使用tzselect命令选择比较准确的时区名称。它会以交互的方式向用户提示关于系统位置的问题供用户选择,然后输出正确的时区名称。但它并不会对系统时区设置进行修改。

示例:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

然后我们使用timedatectl set-timezone 命令将本地客户端的时区更新为前面显示的那个时区。注意需要root权限,然后使用timedatectl验证是否更新成功。

示例:

在这里插入图片描述

配置服务器,使其时间与NTP时间源同步

首先,如果你没有启动chronyd服务的话,需要先启动服务。我们使用 systemctl start chronyd命令立即启动它。如果你想要让服务在系统启动时自动启动,使用 systemctl enable chronyd ,但是注意这个命令并不会立即启动服务。

然后,编辑 /etc/chrony.conf 文件,将指定服务器作为NTP时间源。
比如下面的示例中,将classroom.example.com服务器指定为NTP时间源,iburst选项会在服务启动后再很短时间内进行初始时间同步

在这里插入图片描述
在这里插入图片描述

接着使用 systemctl restart chronyd重新启动chronyd守护进程,让它加载新的配置。

最后使用chronyc sources -v检查。

示例:

在这里插入图片描述
注意前面的输出中,classroom.example.comNTP时间源的源状态(S)字段中显示了一个星号(*)。星号表示本地系统时间与NTP时间源成功同步。

也可以使用 timedatectl 命令验证本地服务器当前是否启用了时间同步

在这里插入图片描述

感谢 💖

好啦,这次的分享就到这里,感谢大家看到这里🤞

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不怕娜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值