Linux如何查看时间同步状态及是否与服务器同步?

在Linux系统中,时间同步是确保系统日志、任务调度、安全认证等功能正常运行的关键,若时间不同步,可能导致依赖时间的操作出现异常(如证书过期、定时任务未触发等),本文将详细介绍Linux系统中查看时间同步状态的多种方法,包括常用命令、工具及日志分析,帮助用户快速掌握时间同步状态的监控技巧。

linux如何查看时间同步

使用timedatectl命令查看时间同步状态

timedatectl是现代Linux发行版(如Ubuntu 16.04+、CentOS 7+)提供的系统时间管理工具,可直观查看时间同步状态。

基本用法

执行以下命令即可查看系统时间、时区及同步状态:

timedatectl status

输出解读

命令返回的信息包含多个关键字段,以下为示例输出及说明:

               Local time: 三 2024-05-15 14:30:25 CST  
           Universal time: 三 2024-05-15 06:30:25 UTC  
                 RTC time: 三 2024-05-15 06:30:25  
                Time zone: Asia/Shanghai (CST, +0800)  
System clock synchronized: yes  
              NTP service: active  
          RTC in local TZ: no  
  • Local time:本地系统时间(已设置时区)。
  • Universal time (UTC):协调世界时(UTC),与硬件时间无关。
  • RTC time:硬件时钟(CMOS/BIOS时间)的值。
  • System clock synchronized:核心字段,若为yes表示系统时间已同步;no则未同步。
  • NTP service:NTP服务状态,active表示服务正常运行,inactive表示未启动。

使用ntpq命令查看NTP服务器同步状态

ntpq是NTP(Network Time Protocol)的查询工具,用于查看系统与NTP服务器的连接状态及同步详情。

基本用法

执行ntpq -p可列出当前配置的NTP服务器及同步状态:

ntpq -p

输出解读

示例输出如下:

linux如何查看时间同步

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*ntp1.aliyun.com .POOL.          16 p    -   64    0    0.000    0.000   0.000
+ntp2.aliyun.com 10.137.38.86     3 u   64   64    1    15.234  -120.456  0.123
+ntp3.aliyun.com 10.137.38.87     3 u   64   64    1    16.789  -110.234  0.234
  • remote:NTP服务器域名或IP地址,表示当前同步的主服务器,表示备选服务器。
  • refid:参考服务器ID(若为.POOL.表示从NTP池服务器获取)。
  • st:stratum层级(0-15,层级越小越权威,如1为原子钟服务器)。
  • t:类型(u表示unicast单播,p表示pool池服务器)。
  • when:最后一次查询服务器的时间(秒)。
  • poll:查询间隔(秒)。
  • reach:可达性(8表示完全可达,0表示不可达)。
  • delay:与服务器的时间延迟(毫秒)。
  • offset:时间偏差(毫秒,绝对值越小越好,建议<100ms)。
  • jitter:时间抖动(毫秒,值越稳定越好)。

使用chronyc命令查看Chrony同步状态

Chrony是NTP的替代工具,在高延迟或不稳定网络中表现更优,常见于CentOS 7+/Ubuntu 18.04+系统。

基本用法

  • 查看同步源状态:
    chronyc tracking
  • 查看NTP服务器列表及状态:
    chronyc sources

输出解读

chronyc tracking示例输出:

Reference ID    : 10.137.38.86 (ntp2.aliyun.com)
Stratum         : 3
Ref time (UTC)  : Wed May 15 06:30:30 2024
System time     : 0.123456968 seconds slow of NTP time
Last offset     : -0.000123456 seconds
RMS offset      : 0.000456789 seconds
Frequency       : 12.345678 ppm fast
Residual freq   : -0.123456 ppm
Skew            : 0.123456 ppm
Root delay      : 0.015234 seconds
Root dispersion : 0.001234 seconds
Update interval : 1024.0 seconds
Leap status     : Normal
  • System time:系统时间与NTP时间的偏差(正数表示系统时间快,负数表示慢)。
  • Last offset:最后一次同步的偏差值。
  • Frequency:时钟频率偏差(ppm,百万分率,绝对值越小越好)。

chronyc sources示例输出:

  MS Name/IP Address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^* 10.137.38.86               3   64    17    64  -120ms[-120ms] +/-   12ms
^+ 10.137.38.87               3   64    17    64  -110ms[-110ms] +/-   15ms
  • ^*:当前同步的主服务器(^表示可信任,表示活跃)。

查看系统日志排查时间同步问题

若上述命令显示时间未同步,可通过日志进一步排查:

NTP服务日志

tail -f /var/log/ntpstats/peer.log  # NTP同步日志

Chrony服务日志

tail -f /var/log/chrony/chrony.log  # Chrony同步日志

系统通用日志

journalctl -u ntpd -f  # 查看NTP服务日志(CentOS 6/Ubuntu旧版)
journalctl -u chronyd -f  # 查看Chrony服务日志(CentOS 7+/Ubuntu新版)

日志中可能包含“no server suitable found”(无合适服务器)、“connection refused”(连接拒绝)等错误信息,可根据提示检查网络或NTP服务器配置。

不同工具对比总结

为方便用户快速选择合适的查看方式,以下工具对比表格供参考:

linux如何查看时间同步

工具命令 适用场景 核心功能 常用选项
timedatectl 现代Linux发行版(systemd系统) 查看系统时间、时区及同步状态 statusset-timezone
ntpq 传统NTP服务(ntpd) 查看NTP服务器连接及同步详情 -p(显示服务器列表)
chronyc Chrony服务(chronyd) 查看同步源状态、偏差及频率 trackingsources

相关问答FAQs

Q1:Linux时间不同步怎么办?
A:可按以下步骤排查:

  1. 检查NTP/Chrony服务是否运行:systemctl status ntpdsystemctl status chronyd,未运行则执行systemctl start [服务名]并设置开机自启(systemctl enable [服务名])。
  2. 检查网络连通性:ping [NTP服务器IP],确保可访问。
  3. 检查NTP服务器配置:cat /etc/ntp.confcat /etc/chrony.conf,确认服务器地址正确(如server ntp.aliyun.com iburst)。
  4. 查看日志定位错误:通过tail -f /var/log/chrony/chrony.log等日志分析具体报错(如防火墙拦截、服务器不可达)。

Q2:如何手动同步Linux时间?
A:手动同步时间可通过以下命令实现:

  • 使用ntpdate(需安装,如yum install ntpdate):
    ntpdate -s ntp.aliyun.com  # 从阿里云NTP服务器同步并写入系统时间
  • 使用chronyc(推荐):
    chronyc -a makestep  # 强制Chrony立即同步时间
  • 使用timedatectl(仅同步系统时间,不更新硬件时间):
    timedatectl set-ntp off && timedatectl set-ntp on  # 重启时间同步服务

    同步后,可通过timedatectl statusntpq -p验证结果。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/29428.html

(0)
酷番叔酷番叔
上一篇 2025年9月24日 09:08
下一篇 2025年9月24日 09:26

相关推荐

  • linux如何退出debug模式

    Linux中,退出debug模式可以使用命令q或者快捷键`

    2025年8月14日
    8300
  • Linux中kill命令执行后无法退出,如何处理?

    在Linux系统中,kill命令是用于向进程发送信号的核心工具,其名称中的“kill”常被误解为仅用于“终止进程”,但实际上它本质上是“向进程发送信号”,而“终止”只是信号的一种结果(如默认的SIGTERM信号),用户提到的“linux如何退出kill”,可能涉及多种场景:误输入kill命令后如何取消执行、ki……

    2025年10月3日
    4500
  • Linux服务器网速慢如何测试排查原因及方法?

    在Linux服务器运维中,网速慢是常见问题,可能涉及网络配置、系统资源、硬件故障或外部链路等多个维度,要准确排查网速慢的问题,需结合系统工具、网络测试命令和监控手段,逐步定位瓶颈,以下从基础排查到深度分析,详细说明Linux服务器测网速慢的排查方法和工具使用,初步定位问题范围首先需明确“网速慢”的具体场景:是服……

    2025年10月9日
    9500
  • linux如何带端口ftp

    Linux中,可使用vsftpd等FTP服务器软件,配置时指定端口号来实现带

    2025年8月16日
    8600
  • Linux如何删除多级目录下的所有文件?

    在Linux系统中,删除多级目录的文件是日常运维和开发中常见的操作,但涉及递归删除时需格外谨慎,避免误删重要数据,本文将详细讲解Linux中删除多级目录文件的多种方法、注意事项及实用技巧,帮助用户安全高效地完成操作,基础命令:rm与递归删除选项rm(remove)是Linux中用于删除文件或目录的核心命令,其基……

    2025年8月29日
    8900

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信