journalctl是Linux系统中用于查看和管理systemd日志的核心命令,支持按时间、服务、进程等多维度过滤,如使用-u指定服务、--since设置起始时间,并可通过配置Storage=persistent实现日志持久化,结合--vacuum-time或--vacuum-size清理旧日志以防磁盘溢出。

journalctl 是 Linux 系统中用于查看和管理 systemd 日志(journald)的核心命令。它能访问由 systemd-journald 服务收集的结构化日志,相比传统 syslog 工具更强大、灵活,尤其适合现代基于 systemd 的发行版如 Ubuntu、CentOS、Debian 和 Fedora。
直接运行 journalctl 不带参数会输出系统所有可用日志,按时间倒序排列:
journalctl常用基础选项包括:
时间格式支持多种写法,例如:
journalctl --since "2 hours ago"查看特定服务的日志是日常运维中最常见的需求。使用 -u 指定 unit 名称:
journalctl -u nginx.service结合时间可定位问题时段:
journalctl -u sshd.service --since "today 08:00"若服务刚重启过,只想看本次运行的日志,加 -b:
journalctl -u docker.service -b通过进程 ID 查看某进程产生的日志:
journalctl _PID=1234根据用户查看日志(需启用用户日志支持):
journalctl --user -u user@1000.service某些字段支持通配符匹配,如查看所有内核消息:
journalctl _TRANSPORT=kernel也可通过可执行文件路径过滤:
journalctl /usr/bin/containerd默认情况下,journald 日志保存在内存(/run/log/journal),重启后丢失。要永久保存,需创建目录并修改配置:
sudo mkdir -p /var/log/journal重启服务生效:
sudo systemctl restart systemd-journald日志可能占用较多空间,可用以下命令查看大小和清理:
journalctl --disk-usage基本上就这些。掌握 journalctl 能快速定位系统和服务问题,关键是熟悉过滤方式和时间控制。合理配置持久化和定期清理,避免日志撑满磁盘。不复杂但容易忽略细节,比如单位名称拼写或时间格式错误会导致查不到内容。
以上就是Linux命令行中journalctl命令详解的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号