在使用 RockyLinux 或其他基于 systemd 的 Linux 发行版时,journalctl 命令 是查看和管理系统日志的核心工具。本文将手把手教你如何使用 journalctl 来高效地查看、过滤和分析 systemd 日志,即使是 Linux 新手也能轻松上手。
什么是 journalctl?
journalctl 是 systemd 提供的日志管理工具,用于查询和显示由 journald 服务收集的系统日志。与传统的文本日志文件(如 /var/log/messages
)不同,systemd 日志以二进制格式存储,具有结构化、压缩率高、安全性强等优点。
基本用法:查看全部日志
最简单的用法是直接运行:
journalctl
这会输出从系统启动以来的所有日志条目,按时间顺序排列。由于日志可能非常多,建议配合分页查看(默认使用
less分页器)。
常用选项与技巧
1. 查看最近的日志
只显示最近 100 行日志:
journalctl -n 100
加上
-f参数可实时跟踪最新日志(类似
tail -f):
journalctl -f
2. 按时间范围过滤
查看今天的所有日志:
journalctl --since today
查看某时间段内的日志(例如从 2024-06-01 到 2024-06-02):
journalctl --since "2024-06-01" --until "2024-06-02"
3. 按服务或单元过滤
查看 SSH 服务的日志:
journalctl -u sshd
查看特定进程 ID(PID)的日志:
journalctl _PID=1234
4. 按日志级别过滤
只显示错误(err)及以上级别的日志:
journalctl -p err
日志级别包括:
emerg(0)、
alert(1)、
crit(2)、
err(3)、
warning(4)、
notice(5)、
info(6)、
debug(7)。
持久化日志存储(可选)
默认情况下,systemd 日志存储在
/run/log/journal/,系统重启后会丢失。若希望日志永久保存,请执行以下步骤: 创建日志目录:
sudo mkdir -p /var/log/journal重新加载 systemd-journald 服务:
sudo systemctl restart systemd-journald
总结
掌握 RockyLinux journalctl命令 是进行 Linux系统日志管理 和故障排查的关键技能。通过灵活使用各种过滤参数,你可以快速定位问题、监控服务状态,并提升 RockyLinux日志分析 效率。无论你是系统管理员还是开发人员,熟练运用 systemd日志查看 工具都将大大提升你的工作效率。
希望这篇教程能帮助你轻松上手 journalctl!如有疑问,欢迎在评论区交流。
