前言:
由于IT系统中,准确的计时非常重要,有很多种原因需要准确计时: 在网络传输中,数据包括和日志需要准确的时间戳 各种应用程序中,如订单信息,交易信息等都需要准确的时间戳
目录
[2、系统时钟(System Clock)](#2、系统时钟(System Clock))
[2、chronyc sources输出分析](#2、chronyc sources输出分析)
一、Linux时钟
1、硬件时钟RTC (Real Time Clock)
BIOS 基本输入系统的程序(ROM)
bash
# 查看硬件时间
[root@server ~]# hwclock
2、系统时钟(System Clock)
CMOS 存储程序的参数(RAM)
bash
# 查看系统时间
[root@server ~]# date
3、设置日期时间
bash
[root@server ~]# timedatectl # 显示当前的日期和时间
[root@server ~]# systemctl status chronyd
# 查看时间同步服务状态(由于默认使用chrony服务同步时间,不再使用ntp服务)
[root@server ~]# systemctl status ntp # 查看ntp状态
[root@server ~]# timedatectl set-ntp no # 关闭时间同步,以方便修改日期时间
[root@server ~]# timedatectl set-time "2023-12-12" # 设置新日期
[root@server ~]# timedatectl set-time "12:12:12" # 设置新时间
bash
[root@server ~]# date # 显示
[root@server ~]# date +"%Y-%m-%d %H:%M:%S" # 格式显示
# 设置日期时间
[root@server ~]# date -s 2023-11-15
[root@server ~]# date -s 14:33:33
二、安装配置
1、安装
bash
# 默认已安装,若需要安装则可执行:
[root@server ~]# yum install chrony -y
[root@server ~]# systemctl start chronyd # 开启chronyd服务
[root@server ~]# systemctl enable chronyd # 设置开机自启chronyd服务
2、配置
bash
[root@server ~]# vim /etc/chrony.conf
server ntp.aliyun.com iburst
stratumweight 0
driftfile /var/lib/chrony/drift
rtcsync
makestep 10 3
bindcmdaddress 127.0.0.1
bindcmdaddress ::1
keyfile /etc/chrony.keys
commandkey 1
generatecommandkey
logchange 0.5
logdir /var/log/chrony
3、重启服务
bash
[root@server ~]# systemctl restart chronyd
4、时间同步
bash
[root@server ~]# chronyc sources -v
5、查看时间是否同步
bash
[root@server ~]# timedatectl status
Local time: 二 2024-01-23 18:13:08 CST
Universal time: 二 2024-01-23 10:13:08 UTC
RTC time: 一 2024-01-22 05:22:04
Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yes # yes 表名已同步
NTP service: active
RTC in local TZ: no
[root@server ~]#
[root@server ~]# date
2024年 01月 23日 星期二 18:13:10 CST
三、chronyc命令
1、查看时间服务器
bash
[root@server ~]# chronyc sources -v # -v参数表示显示内容是否有解释
2、chronyc sources输出分析
M:这表示信号源的模式。^表示服务器,=表示对等方,#表示本地连接的参考时钟。
S:此列指示源的状态
* chronyd当前同步到的源
- 表示可接受的信号源,与选定的信号源组合在一起
- 表示被合并算法排除的可接受源
? 表示已失去连接的源
x 表示chronyd认为是虚假行情的时钟(即,其时间与大多数其他来源不一致)
~ 表示时间似乎具有太多可变性的来源
3、查看时间服务器的状态
bash
[root@server ~]# chronyc sourcestats -v
4、查看时间服务器是否在线
bash
[root@server ~]# chronyc activity -v
5、同步系统时钟
bash
[root@server ~]# chronyc -a makestep