784 字
约 2 分钟
8
S15-B06 · 时间、时区与系统信息

适用读者:被"日志时间对不上""证书过期却说不清"困扰的人。
前置:S15-B01。
实测环境:Ubuntu 24.04(2026-11-05)。
覆盖旧文:1307(24) 1309(32) 1338(21) 1281(24) 1282(27) 1329(21) 1313(23) 1314(30) 1340(20) + 3 张 = 268 点。
上一篇:S15-B05 · 磁盘、分区与挂载
下一篇:S15-J01 · 文本三剑客与日志分析。


1. 一句话结论

时间问题几乎都是"时区"和"同步"两件事:timedatectl 看时区与 NTP,date 看/改时间。容器里时区默认是 UTC,最容易被忽略。

实测(本机):

timedatectl
 → Local time: Thu 2026-11-05 20:01:27 UTC
   Universal time: 同上
   Time zone: Etc/UTC (UTC, +0000)

2. 三组命令

目的 命令
看时间 date / date +%F\ %T
看时区 timedatectl / cat /etc/timezone
改时区 timedatectl set-timezone Asia/Shanghai
手动同步 ntpdate / chronyc makestep
看同步状态 timedatectl 的 "System clock synchronized"
开机时间 uptime -s
启动耗时 systemd-analyze

实测(启动耗时):

Startup finished in 2.717s (kernel) + 10.514s (userspace) = 13.232s
段 含义
kernel 内核引导
userspace 服务启动
userspace 大 → 服务多/慢 systemd-analyze blame 能排序

3. 时间不对会引发什么

现象 根因
TLS 证书"已过期/未生效" 系统时间偏差
日志顺序错乱 容器 UTC + 应用本地时区
定时任务不触发 时区与 cron 配置不一致
分布式 ID 重复 时钟回拨

判据:"跨时区部署时,你的日志/任务/证书都对齐了吗?" 没对齐 → 先统一 UTC 存储、展示时转换。


4. 系统信息速查

目的 命令
内核版本 uname -sr
发行版 cat /etc/os-release
CPU lscpu / nproc
内存 free -h
磁盘 df -h
主机名 hostnamectl
已启动服务 systemctl list-units --type=service --state=running

实测:

uname -sr        → Linux 6.8.0-147-generic
/etc/os-release  → PRETTY_NAME="Ubuntu 24.04.1 LTS"

5. 五个误区

误区 真相
"容器时间就是主机时间" 时区常是 UTC(需挂 /etc/localtime)
"改时间不影响业务" 证书/任务/ID 都受影响
"ntpdate 是推荐做法" 现代用 chrony/systemd-timesyncd
"uptime 只看运行多久" uptime -s 能给启动时刻
"systemd-analyze 只是玩具" 能定位慢服务(blame)

6. 自检

  1. 看时区与同步状态的命令?
  2. 容器时区为什么常是 UTC?怎么改?
  3. 时间偏差会引发哪四类问题?
  4. systemd-analyze 的两个用途?
  5. 分布式系统里时间该怎么统一?

7. 下一篇

S15-J01 · 文本三剑客:grep/sed/awk 与日志分析

基础层到这结束。进阶层第一篇用真实日志演示 awk 字段解析与聚合。


本篇属于系列《S15 · Linux 与运维》。旧文来源:12 张时间/系统类卡。timedatectl 与 systemd-analyze 为 Ubuntu 24.04 实测。

S15-B06 · 时间、时区与系统信息
https://www.clxhxhhr.top/posts/5394/
作者
clxstart
发布于
2024-12-31
许可协议
CC BY-NC-SA 4.0
评论
0 条
还没有评论,先写一条吧。