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系统) 查看系统时间、时区及同步状态 status、set-timezone
ntpq 传统NTP服务(ntpd) 查看NTP服务器连接及同步详情 -p(显示服务器列表)
chronyc Chrony服务(chronyd) 查看同步源状态、偏差及频率 tracking、sources

相关问答FAQs

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

  1. 检查NTP/Chrony服务是否运行:systemctl status ntpd或systemctl status chronyd,未运行则执行systemctl start [服务名]并设置开机自启(systemctl enable [服务名])。
  2. 检查网络连通性:ping [NTP服务器IP],确保可访问。
  3. 检查NTP服务器配置:cat /etc/ntp.conf或cat /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 status或ntpq -p验证结果。

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

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

相关推荐

  • Linux中如何从图形界面或其他程序详细回到终端命令的操作方法?

    在Linux操作系统中,终端命令行是与系统交互的核心方式,无论是系统管理、软件开发还是日常操作,都离不开终端的高效使用,在使用过程中,用户可能会遇到需要“回到终端命令”的场景——例如从图形界面切换到终端、从后台任务恢复终端、从全屏模式退出、或从无响应状态恢复终端等,本文将详细讲解不同场景下回到终端命令的方法,帮……

    2025年10月5日
    25900
  • Linux UDP端口怎么开?

    核心概念UDP协议:无连接协议,适用于DNS、DHCP、视频流等场景,“打开端口”的含义:配置防火墙允许外部UDP数据包到达指定端口,安全原则:仅开放必要端口,避免暴露整个系统,操作步骤(根据防火墙工具选择)方法1:使用 iptables(传统工具,适用于所有Linux)临时允许UDP端口(重启失效)开放UDP……

    2025年7月27日
    32200
  • Linux error13如何解决?

    Linux error13通常指“Permission denied”(权限被拒绝)错误,是用户在操作Linux系统时最常遇到的权限问题之一,该错误可能出现在文件访问、命令执行、服务启动等多种场景下,核心原因是当前用户对目标资源(文件、目录、设备等)缺乏足够的操作权限,解决error13需要从权限管理、安全上下……

    2025年9月9日
    34100
  • Windows系统中如何具体实现FTP登录Linux服务器的详细操作步骤?

    在Windows系统中通过FTP协议登录Linux服务器进行文件传输是常见的跨平台操作需求,广泛应用于服务器管理、文件备份、数据共享等场景,FTP(File Transfer Protocol)是一种基于TCP/IP协议的应用层协议,支持客户端与服务器之间的文件上传、下载、删除等操作,本文将详细介绍从Windo……

    2025年9月29日
    27500
  • Linux如何登录到系统界面?

    Linux系统登录界面是用户与系统交互的第一步,根据使用场景和配置不同,登录方式可分为命令行界面(CLI)登录和图形用户界面(GUI)登录,同时还包括远程登录(如SSH)和特殊模式登录(如单用户模式),以下从不同场景详细说明Linux登录界面的操作流程及相关注意事项,命令行界面(CLI)登录CLI是Linux系……

    2025年9月20日
    29100

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信