Linux journalctl 如何只看本次启动日志:-b、时间过滤与字段核对
排查 Linux 服务重启后为什么又报错时,最容易踩的坑是直接翻整份 journal。正确的起点通常是 journalctl -b:它把范围收窄到当前这次启动,再配合 --since、--until 和字段过滤,才能判断问题究竟发生在本次启动还是旧日志里。
先用
journalctl -b -p warning..alert看本次启动的告警,再用服务名、时间和单条字段核对;不要把上一轮启动的错误直接算到当前故障上。
-b表示当前启动,-b -1表示上一次启动。-p warning..alert适合先收窄严重级别,但不是“故障清单”的同义词。--since today与启动边界可以叠加,时间更精确时使用带时区的时间字符串。- 最终判断要回到
_SYSTEMD_UNIT、_PID、MESSAGE等字段核对。
先把日志边界改成当前启动
journalctl 不加参数时可能返回很长的历史记录。当前机器刚重启过,建议先执行:
journalctl -b
journalctl -b -p warning..alert
第一条看完整的本次启动,第二条只保留从 warning 到 alert 的记录。这里的“本次”由 journald 记录的启动 ID 决定,不是简单按今天零点切分。

为什么只看严重级别仍然不够
严重级别适合做第一轮筛选,但驱动初始化、网络切换或服务依赖失败可能只记成 notice 或 info。如果只看 warning,可能错过真正解释故障的前置事件。
更稳妥的顺序是先看服务本身的完整记录,再把级别筛选当作交叉检查:
journalctl -b -u ssh.service --no-pager
journalctl -b -u ssh.service -p err..alert --no-pager
不同发行版的服务单元名可能不同,先用 systemctl list-units --type=service 或服务安装文档确认单元名称。若命令提示没有该单元,不要把它误读成“本次启动没有日志”。
时间过滤和启动过滤怎么叠加
知道故障发生在启动后的某个窗口时,可以把启动边界和时间边界同时写上:
journalctl -b --since "10 minutes ago" --no-pager
journalctl -b --since "2026-08-26 21:40:00" --until "2026-08-26 21:50:00"
第一条适合现场快速观察,第二条适合复盘记录。需要跨时区协作时,在记录中注明主机时区,并优先使用带明确偏移量的时间,避免把客户端时间当成服务器时间。
从输出字段确认到底是谁报错
一行日志里的服务名、进程号和消息正文承担的作用不同。可以用短格式快速查看字段,也可以直接筛选 systemd 单元:
journalctl -b -o short-precise -u ssh.service
journalctl -b _SYSTEMD_UNIT=ssh.service -o json-pretty
journalctl -b _PID=742 --no-pager
| 字段或参数 | 核对重点 | 常见误判 |
|---|---|---|
-b | 当前启动边界 | 把上次启动的错误混进来 |
-u / _SYSTEMD_UNIT | 具体服务单元 | 只按正文关键词猜来源 |
_PID | 产生该条记录的进程 | 服务重启后仍沿用旧 PID 判断 |
MESSAGE | 原始消息内容 | 只看颜色或级别,不看上下文 |

旧命令迁移到一套可复查的最小流程
如果过去习惯先执行 journalctl | grep error,可以改成下面这组更容易复盘的命令。它们每一步都保留了边界或证据:
# 1. 当前启动的严重记录
journalctl -b -p warning..alert --no-pager
# 2. 锁定目标服务
journalctl -b -u your-service.service --since "15 minutes ago" --no-pager
# 3. 找到一条可疑记录后核对结构化字段
journalctl -b _SYSTEMD_UNIT=your-service.service -o json-pretty | less
这里的 your-service.service 只是占位符,实际执行前替换成真实单元名。输出中若能看到同一启动 ID、同一服务单元和连续时间戳,结论才有足够依据。
最小验证:重启后如何证明范围没有错
取当前启动与上一启动各看一条边界信息:
journalctl --list-boots
journalctl -b 0 -n 5 --no-pager
journalctl -b -1 -n 5 --no-pager
--list-boots 会列出启动序号、启动 ID 和时间范围;-b 0 与 -b -1 明确指定当前和上一轮。若两个范围的时间戳与机器实际重启时间对不上,先检查 journald 持久化和主机时间,再继续判断服务问题。
常见问题
journalctl -b -1 是不是查看昨天的日志?
不一定。它表示上一次启动,可能是几分钟前,也可能跨过了昨天。准确时间应以 --list-boots 的起止时间为准。
为什么 journalctl -p err 看不到服务错误?
服务可能把关键线索记为 warning、notice 或 info,也可能写入了不同的单元。先去掉级别过滤并加上 -u,再按时间和字段回看。
可以只用 grep 搜索 ERROR 吗?
可以做临时搜索,但它只匹配正文文本,无法替代启动边界、服务单元和 PID 核对。排障结论最好保留原始 journalctl 命令。
把 -b、时间范围和结构化字段放在同一条排查链里,日志就从“很多红字”变成了可验证的启动事件。先确认范围,再解释消息,通常比继续扩大 grep 关键词更快。
Go fmt.Appendf 怎么减少格式化分配:追加到切片、返回值与兼容写法
- 上一篇
- Go fmt.Appendf 怎么减少格式化分配:追加到切片、返回值与兼容写法
- 下一篇
- Go crypto/subtle.ConstantTimeCompare 为什么长度不同会直接失败:密钥校验与输入边界
-
- 文章 · linux | 8小时前 | Linux · journalctl · 服务诊断 · Linux journalctl 服务启动失败
- Linux 服务启动失败怎么定位:journalctl、状态码与回滚配置
- 351浏览 收藏
-
- 文章 · linux | 12小时前 | 容器 · Linux · namespace · Linux user namespace uid_map gid_map
- Linux user namespace 怎么判断权限映射是否生效:uid_map、gid_map 与容器内核边界
- 411浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 485次学习
-
- ljg-skills
- ljg-skills 是李继刚开源的 AI 技能与提示词集合,面向大模型使用者整理了一批可复用的 prompt、角色设定和任务技能模板,适合用于学习提示词设计、搭建个人 AI 工作流和沉淀团队常用智能体能力。
- 5290次使用
-
- MELO音乐
- MELO音乐是一站式AI视频与音乐制作助手,对标suno, udio的高品质体验。提供伴奏生成、原创写词、无损导出、哼唱识曲、混音变声等全套音频与短视频编辑工具。无论是流行Kpop、电音说唱、民谣古风、摇滚儿歌还是商用轻音乐,MELO为你免费谱曲,轻松做同款!
- 4806次使用
-
- UniScribe
- UniScribe 是一款 AI 音视频转文字与内容整理工具,支持上传音频、视频文件或粘贴 YouTube 链接,自动生成转写文本、摘要、思维导图和关键问题,并支持多格式导出,适合会议记录、课程学习、访谈整理和内容创作复盘。
- 4748次使用
-
- 剧云
- 剧云是专业中文剧本创作平台,安全稳定运行十余年,集成AI编剧、剧本医生审核、人物小传、剧情关系图、大纲编写、多人协作、Word导入导出、版权管控功能,数据安全防护,轻松高效创作剧本。
- 5015次使用
-
- 万象有声
- 万象有声,一个专为有声创作者打造的新一代智能有声内容创作平台。平台提供专业的智能拆章、智能画本编辑、AI配音、AI生成音效、后期制作、智能对轨、智能审听等有声创作全流程工具,可以帮助创作者高效、低成本创作出引人入胜的有声作品。立即体验,让有声书制作更简单!
- 4957次使用
-
- 详解golang执行Linuxshell命令完整场景下的使用方法
- 2023-01-07 426浏览
-
- go程序部署到linux上运行的实现方法
- 2023-01-02 387浏览
-
- Linux系统下Go语言开发环境搭建
- 2023-01-07 242浏览
-
- 使用golang获取linux上文件的访问/创建/修改时间
- 2022-12-31 238浏览
-
- 在Linux系统中安装Go语言的详细教程
- 2022-12-29 402浏览

