Linux 日志排查:systemd-journal 与 /var/log
装完 Linux 系统后出问题第一站看日志:journalctl 看系统与服务日志,/var/log 看传统文本日志,常用组合命令与「先看什么」的顺序。
结论先行
Linux 排障第一站是日志:journalctl 看 systemd 管理的系统与服务日志(现代发行版主战场),/var/log 里的文本文件看传统日志;Ubuntu 与 Debian 布局一致(Ubuntu 26.04 Live Server 条目、Debian 索引 均适用)。
journalctl 常用组合
journalctl -xe # 本次开机的错误级日志(最常用)
journalctl -u ssh # 只看某服务
journalctl --since -1h # 最近一小时
journalctl -b -1 # 上一次开机的日志(对比「装完就坏」很关键)
/var/log 里看什么
| 文件 | 内容 |
|---|---|
| /var/log/syslog | 系统综合日志(Debian 传统命名;Ubuntu 上多为 journal 接管) |
| /var/log/auth.log | 登录/授权相关 |
| /var/log/apt/history.log | apt 操作历史(装过什么、什么时候装的) |
| 各服务自产日志 | 如 /var/log/nginx/ 等(取决于装了什么) |
排查顺序(服务起不来为例)
systemctl status <服务>看当前状态与最后报错行。journalctl -u <服务> --since -30m看该服务近期日志。- 若怀疑升级导致,
/var/log/apt/history.log对时间。 journalctl -b -1对比上一次正常开机的同一时段。
日志多不代表有罪:先按 1→4 缩小时间窗,再 grep 关键字;直接从头读全量 journal 效率最低。