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如何修改用户名和忘记密码怎么办

    在Linux系统中,用户名和密码是账户安全的核心,偶尔需要修改用户名(如更规范命名)或处理密码遗忘问题,以下分两部分详细说明操作步骤及注意事项,Linux如何修改用户名修改用户名需root权限操作,涉及用户信息、家目录及相关配置文件的调整,具体步骤如下:确认当前权限并备份用户数据首先切换至root用户(su……

    2025年9月10日
    2400
  • Linux如何正确挂载U盘?

    Linux读取U盘的核心步骤插入U盘并识别设备使用命令 lsblk 或 sudo fdisk -l 查看新增设备(如 /dev/sdb1),通过 dmesg | tail 查看内核日志,确认U盘是否被识别(搜索”USB”或”sd”关键词),创建挂载点sudo mkdir /mnt/usb # 创建挂载目录挂载U……

    2025年7月29日
    3600
  • Linux环境下如何将多个文件夹的内容合并到一个文件夹?

    在Linux系统中,合并多个文件夹是日常文件管理中的常见需求,例如整理分散的项目文件、汇总不同来源的备份、合并用户数据等,合并文件夹的核心操作涉及文件复制、同名文件处理、子目录递归合并以及文件属性保留等问题,本文将详细介绍多种合并方法,涵盖命令行工具(如cp、rsync、find+xargs)和图形界面操作,并……

    2025年10月5日
    1100
  • linux下如何安装python

    在Linux系统中安装Python是开发环境搭建的基础步骤,常见方法包括包管理器安装、源码编译安装及虚拟环境配置,本文以主流发行版(如Ubuntu/Debian、CentOS/RHEL、Fedora)为例,详细说明不同场景下的安装流程及注意事项,通过包管理器安装(适合新手快速部署)包管理器安装是最简单的方式,但……

    2025年8月23日
    3900
  • Linux下如何打开或运行Perl脚本?

    在Linux系统中,“打开perl”通常涉及两个核心场景:一是确认系统是否已安装Perl环境并进入交互式解释器,二是执行Perl脚本文件,以下将从环境检查、安装配置、交互式使用、脚本执行及常见问题解决五个方面详细说明,检查系统是否已安装Perl大多数Linux发行版默认会安装Perl,但部分精简系统可能未包含……

    2025年9月19日
    2300

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信