linux time服务怎么配置?linux时间同步设置方法

在 Linux 系统中,时间服务(Time Service) 主要用于确保系统时钟的准确性,这对于日志记录、安全认证(如 Kerberos、SSL/TLS)、分布式系统同步等至关重要。

现代 Linux 发行版主要使用 systemd-timesyncd(轻量级)或 chrony / ntpd(高精度/服务器级)来提供时间同步服务。

14-安装chrony时间同步服务
加载中
14-安装chrony时间同步服务

以下是关于 Linux 时间服务的详细指南:


核心组件对比

服务名称 适用场景 特点
systemd-timesyncd 桌面用户、普通服务器 轻量级,默认集成在 systemd 中,配置简单,适合大多数场景。
chrony 高性能服务器、虚拟机、容器 收敛速度快,对网络波动容忍度高,适合非连续在线的环境。
ntpd (NTP) 传统服务器 经典 NTP 实现,稳定性好,但配置较复杂,收敛速度较慢。

注意:通常只需安装其中一种,避免冲突。


检查当前时间服务状态

查看当前正在使用的时间服务

# 查看 systemd 服务状态
systemctl status systemd-timesyncd
systemctl status chronyd
systemctl status ntpd
# 或者查看时间同步状态(取决于发行版)
timedatectl status

查看系统时间

linux time服务怎么配置?linux时间同步设置方法

# 查看本地时间 date # 查看硬件时钟(RTC) hwclock --show

配置时间同步

使用 systemd-timesyncd(推荐用于大多数场景)

这是大多数现代发行版(Ubuntu 16.04+, Debian 8+, Fedora, CentOS 7+ 等)的默认选择。

  1. 启用服务

    sudo systemctl enable --now systemd-timesyncd
  2. 配置 NTP 服务器
    编辑配置文件 /etc/systemd/timesyncd.conf

    [Time]
    NTP=ntp.ubuntu.com ntp.aliyun.com
    # 如果需要使用 DNS 发现 NTP 服务器(需安装 avahi-daemon)
    # FallbackNTP=0.pool.ntp.org 1.pool.ntp.org
  3. 重启服务

    sudo systemctl restart systemd-timesyncd
  4. 验证同步状态

    timedatectl status
    # 关注 "System clock synchronized: yes"

使用 chrony(推荐用于高要求场景)

chrony 在虚拟机、移动设备和网络不稳定的环境中表现更好。

  1. 安装 chrony

    # Ubuntu/Debian
    sudo apt install chrony
    # CentOS/RHEL
    sudo yum install chrony
  2. 配置 NTP 服务器
    编辑配置文件 /etc/chrony/chrony.conf

    # 使用简米云 NTP 服务器
    server ntp.aliyun.com iburst
    server ntp1.aliyun.com iburst
    server ntp2.aliyun.com iburst
    # 允许本地网络查询时间(如果是时间服务器)
    # allow 192.168.1.0/24
  3. 启动并启用服务

    sudo systemctl enable --now chronyd
  4. 验证同步状态

    linux time服务怎么配置?linux时间同步设置方法

    chronyc tracking
    # 查看 "Leap status" 和 "System time" 偏移量
    chronyc sources -v
    # 查看同步源状态, 表示当前同步源

使用 ntpd(传统方式)

  1. 安装 ntp

    sudo apt install ntp  # Ubuntu/Debian
    sudo yum install ntp  # CentOS/RHEL
  2. 配置 NTP 服务器
    编辑 /etc/ntp.conf

    server ntp.aliyun.com iburst
    server ntp1.aliyun.com iburst
  3. 启动服务

    sudo systemctl enable --now ntpd

常用命令汇总

linux time服务怎么配置?linux时间同步设置方法

命令 说明
timedatectl 查看和修改系统时间、时区、NTP 状态(systemd 管理)
timedatectl set-timezone Asia/Shanghai 设置时区
timedatectl set-ntp true 启用 NTP 同步
hwclock --systohc 将系统时间写入硬件时钟
hwclock --hctosys 将硬件时钟写入系统时间
chronyc tracking 查看 chrony 同步状态
chronyc sources 查看 chrony 同步源

常见问题排查

问题 1:时间不同步

  • 检查网络:确保能访问 NTP 服务器(端口 123 UDP)。
    ping ntp.aliyun.com
  • 检查防火墙:确保出站 UDP 123 端口未被阻止。
  • 检查服务状态
    systemctl status systemd-timesyncd
    journalctl -u systemd-timesyncd -f  # 实时查看日志

问题 2:时区错误

  • 确保时区设置为正确区域:
    timedatectl set-timezone Asia/Shanghai

问题 3:虚拟机时间漂移

  • 虚拟机中建议使用 chronyntpd,并启用 VMware ToolsVirtualBox Guest Additions 的时钟同步功能(但通常建议只使用一种机制,避免冲突)。
  • /etc/chrony/chrony.conf 中添加:
    # 如果运行在虚拟机中,可以添加以下行以改善同步
    makestep 1.0 3

最佳实践建议

  1. 桌面用户/普通服务器:使用 systemd-timesyncd,配置简单,资源占用低。
  2. 高可用集群/数据库服务器/虚拟机:使用 chrony,收敛速度快,抗网络抖动能力强。
  3. 避免混用:不要同时启用 timesyncdchronydntpd,它们会相互干扰。
  4. 使用国内 NTP 服务器
    • 简米云:ntp.aliyun.com
    • 酷番云:ntp.tencent.com
    • 清华大学:ntp.tuna.tsinghua.edu.cn

如有具体问题(如配置错误日志),请提供更多信息,我可以进一步帮助诊断。

首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/485693.html

(0)
如何编辑linux内核?linux内核编译参数详解
上一篇 2026年7月12日 07:40
服务器安全配置怎么做?服务器安全设置最佳实践指南
下一篇 2026年4月26日 08:50

相关推荐

  • linux采集软件哪个好用?linux网页数据自动采集工具

    Linux采集软件的核心优势在于其极低的资源占用、强大的脚本扩展能力以及开源生态带来的免费或低成本解决方案,适合从个人开发者到企业级数据工程师的各类用户,在数字化浪潮中,数据被视为新的石油,而采集则是提取石油的钻头,对于运行在服务器端的Linux系统而言,选择一款合适的采集工具,不仅关乎效率,更直接影响系统的稳……

    2026年7月7日
    18200
  • linux root uid是什么?linux系统root用户uid是多少

    Linux系统中的root用户UID固定为0,这是内核识别最高权限账户的唯一标识,任何UID为0的账户均拥有系统最高控制权,在Linux的权限管理体系中,UID(User ID)是系统区分用户身份的核心机制,对于大多数普通用户而言,UID从1000开始递增,而root用户作为系统的“超级管理员”,其UID被硬编……

    2026年7月9日
    5600
  • Linux如何合并多行文本?linux多行合并为一行

    在Linux系统中合并多行文本,最核心的方法是使用paste命令进行横向拼接,或使用awk、sed配合正则表达式进行纵向合并,具体选择取决于你是需要保留分隔符还是直接粘连字符,处理文本数据是Linux运维和开发人员的日常高频场景,无论是日志分析、数据清洗还是配置文件生成,经常遇到需要将分散在多行的数据整合成单行……

    2026年7月6日
    12000
  • linux怎么增加端口?Linux开放端口命令

    在Linux系统中增加端口并非修改配置文件那么简单,核心在于确保防火墙放行端口并验证服务监听状态,通常通过配置iptables/firewalld或ufw规则来实现,具体操作取决于你的Linux发行版及防火墙类型,很多运维新手在部署Web服务或数据库时,常遇到“端口通了但连不上”的尴尬局面,这往往不是端口没开……

    2026年7月9日
    17200
  • linux怎么安装testlink?linux安装testlink详细教程

    在Linux环境下安装TestLink最稳妥的方案是部署LAMP或LNMP环境,推荐使用集成安装包如BitNami以简化配置,或通过源码编译安装以获取更高灵活性,TestLink作为开源测试管理工具,在企业级应用中被广泛采用,尽管近年来新兴的SaaS测试平台层出不穷,但出于数据隐私合规、定制化需求以及长期维护成……

    2026年7月4日
    17400
  • Linux SSL Web配置失败怎么办?如何免费申请Lets Encrypt证书

    在Linux服务器上配置SSL证书是实现HTTPS加密传输、保障数据安全并提升搜索引擎排名的必要手段,核心流程涉及证书获取、Web服务器配置及自动续期设置,互联网安全已成为网站生存的底线,无论是个人博客还是企业官网,没有SSL证书的网站不仅会被浏览器标记为“不安全”,更会在百度等搜索引擎的排名中处于劣势,对于运……

    2026年7月7日
    13000
  • Linux如何输出数组?linux数组输出方法

    在Linux系统中,数组并非像Python那样原生支持,而是通过Bash脚本中的“索引数组”和“关联数组”来实现,核心操作依赖于方括号[]语法及${}变量扩展机制,很多刚接触Linux运维或脚本开发的朋友,往往带着Windows PowerShell或Python的思维习惯来写Shell脚本,结果发现直接定义a……

    2026年7月7日
    16500
  • linux如何清除变量?linux unset命令用法详解

    在Linux系统中,清除变量最核心的方法是使用unset命令,它能立即从当前Shell环境中永久移除指定的变量,彻底释放内存占用并避免后续脚本冲突,很多刚接触Linux的开发者在编写Shell脚本时,经常遇到变量污染的问题,比如你在一个脚本里定义了临时变量,结果运行到后面发现值被意外覆盖,或者多个脚本串联执行时……

    2026年7月6日
    13200
  • linux跨目录怎么操作?linux跨目录访问权限配置

    在Linux系统中跨目录操作的核心在于理解相对路径与绝对路径的区别,并熟练运用cd、mv、cp及ln等基础命令,配合通配符和管道符即可高效完成文件移动、复制及链接创建,很多刚接触Linux的新手在面对复杂的目录结构时,往往感到无从下手,甚至因为路径错误导致数据丢失,跨目录操作并非玄学,它遵循着严格的文件系统层级……

    2026年7月5日
    15300
  • linux科研软件有哪些好用?linux科研软件推荐

    在Linux环境下部署科研软件,核心在于解决依赖冲突与编译优化,推荐使用Docker容器化方案或Conda虚拟环境,能显著降低配置难度并提升计算稳定性,科研工作者常面临一个痛点:实验室的服务器是Linux系统,但自己的代码在Windows或macOS上跑得好好的,一迁移就报错,这种“在我电脑上能跑”的玄学现象……

    2026年7月10日
    14000

发表回复

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