掌握timedatectl命令:Ubuntu 系统时间管理指南

举报
江湖有缘 发表于 2025/09/22 19:14:27 2025/09/22
【摘要】 掌握timedatectl命令:Ubuntu 系统时间管理指南

@[TOC](掌握timedatectl命令:Ubuntu 系统时间管理指南)

一、timedatectl 是什么?

timedatectl 是一个用于查询和修改系统时间与日期配置的命令行工具,它是 systemd 系统和服务管理器的一部分。通过 timedatectl,你可以轻松地设置系统时间、日期、时区,并配置网络时间协议(NTP)同步,确保系统时间的准确性。

二、 查看当前时间和日期设置

使用 timedatectl status 或直接输入 timedatectl 可以显示系统的当前时间、日期、时区以及 NTP 同步状态等详细信息。

root@jeven:~# timedatectl status
               Local time: 三 2025-09-17 12:05:28 CST
           Universal time: 三 2025-09-17 04:05:28 UTC
                 RTC time: 三 2025-09-17 04:05:28
                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: 硬件时钟的时间。
  • Time zone: 当前系统时区。
  • System clock synchronized: 系统时钟是否已与 NTP 服务器同步。
  • NTP service: NTP 服务是否激活。
  • RTC in local TZ: 硬件时钟是否设置为本地时区(通常建议设置为 no,即使用 UTC)。

三、 查看和设置时区

3.1 列出所有可用时区

正确的时区设置对于系统日志、计划任务和应用程序的时间显示至关重要。使用以下命令,可列出所有可用时区。

timedatectl list-timezones

在这里插入图片描述

这个命令会列出所有已知的时区。列表可能很长,我们可以使用 grep 来过滤查找你想要的时区(例如查找亚洲的时区):

root@jeven:~# timedatectl list-timezones | grep Asia/Shanghai
Asia/Shanghai

3.2 设置系统时区

找到所需的时区后,可以使用 set-timezone 命令来设置。设置完成后,再次运行 timedatectl status 确认时区已更改。

sudo timedatectl set-timezone "Asia/Shanghai" # 设置为中国上海时区
sudo timedatectl set-timezone "Europe/Amsterdam" # 设置为阿姆斯特丹时区
sudo timedatectl set-timezone UTC # 设置为协调世界时 (UTC)

四、设置系统时间和日期

4.1 同时设置日期和时间

我们可以手动设置系统的日期和时间。请注意,如果启用了 NTP 同步,手动设置的时间可能会被网络时间同步覆盖。时间的格式为 YYYY-MM-DD HH:MM:SS

timedatectl set-time "2025-09-17 11:30:00"

4.2 仅设置时间

仅设置时间:格式为 HH:MM:SS

timedatectl set-time "11:30:00"

4.3 仅设置日期

仅设置日期:格式为 YYYY-MM-DD。如果只设置日期,时间会默认为 00:00:00

sudo timedatectl set-time "2025-09-17"

五、 配置 NTP 网络时间同步

5.1 启用 NTP 同步

启用 NTP 同步可以让系统自动与互联网上的时间服务器同步,确保时间准确。此命令会启用并启动 systemd-timesyncd.service 服务。

timedatectl set-ntp true

5.2 禁用 NTP 同步

如果需要手动维护时间,可以先禁用 NTP 同步。

sudo timedatectl set-ntp false

5.3 检查 NTP 同步状态

要查看详细的同步状态信息,以下命令会显示 NTP 服务器地址、同步状态、偏移量等详细信息。

root@jeven:~# timedatectl timesync-status
       Server: 185.125.190.58 (ntp.ubuntu.com)
Poll interval: 34min 8s (min: 32s; max 34min 8s)
         Leap: normal
      Version: 4
      Stratum: 2
    Reference: B7A08584
    Precision: 1us (-25)
Root distance: 838us (max: 5s)
       Offset: +4.298ms
        Delay: 304.581ms
       Jitter: 35.645ms
 Packet count: 180
    Frequency: +29.141ppm
root@jeven:~#

六、配置硬件时钟 (RTC)

6.1 检查 RTC 当前模式

硬件时钟(Real-Time Clock, RTC)是主板上的一块芯片,即使在计算机关闭后也能保持时间运行。查看 RTC in local TZ 项的值:

timedatectl status | grep "RTC in local TZ"

在这里插入图片描述

6.2 设置 RTC 使用 UTC(推荐)

强烈建议将硬件时钟设置为 UTC,这样可以避免时区切换或夏令时调整带来的问题。

timedatectl set-local-rtc 0

  • 或者设置false
timedatectl set-local-rtc false

6.2 设置 RTC 使用本地时间(不推荐)

除非有特殊需求(如双系统引导 Windows),否则不建议这样做。

sudo timedatectl set-local-rtc 1
# 或者使用 true
sudo timedatectl set-local-rtc true

七、注意事项

  1. 双系统用户注意RTC模式:若与Windows双系统,需将RTC设为本地时间(set-local-rtc 1),否则可能导致时间混乱。
  2. 时区设置后需验证:修改时区后,使用 datetimedatectl 确认显示是否符合预期。
  3. 优先启用NTP同步:生产环境建议启用NTP自动同步(set-ntp true),确保时间精准。
  4. 手动设置时间需同步硬件时钟:修改系统时间后,用 hwclock --systohc 更新RTC,避免重启后丢失。
  5. 时区名称区分大小写:设置时区时需严格使用标准名称(如 Asia/Shanghai),否则可能失败。
  6. 避免频繁切换RTC模式:频繁更改RTC模式(UTC/本地时间)可能导致系统时间与硬件时间不一致。
  7. 权限问题:修改时间或时区需使用 sudo,否则会因权限不足失败。
  8. NTP服务冲突:若同时安装 chronyntp,需检查服务状态,避免与 systemd-timesyncd 冲突。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。