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. 自检
- 看时区与同步状态的命令?
- 容器时区为什么常是 UTC?怎么改?
- 时间偏差会引发哪四类问题?
systemd-analyze的两个用途?- 分布式系统里时间该怎么统一?
7. 下一篇
S15-J01 · 文本三剑客:grep/sed/awk 与日志分析
基础层到这结束。进阶层第一篇用真实日志演示 awk 字段解析与聚合。
本篇属于系列《S15 · Linux 与运维》。旧文来源:12 张时间/系统类卡。timedatectl 与 systemd-analyze 为 Ubuntu 24.04 实测。
S15-B06 · 时间、时区与系统信息
https://www.clxhxhhr.top/posts/5394/ 评论
0 条
还没有评论,先写一条吧。