在使用Ubuntu或其它基于systemd的Linux发行版时,系统日志是排查问题、监控服务状态的重要工具。而journalctl命令正是查看和管理系统日志的核心工具。本文将手把手教你如何使用journalctl命令高效地查看、过滤和分析systemd日志,即使你是Linux新手也能轻松上手。
自Ubuntu 15.04起,系统默认采用systemd作为初始化系统(init system),它不仅负责启动和管理服务,还集成了一个强大的日志系统——journald。该系统会自动收集内核消息、系统服务日志、用户进程日志等,并统一存储在二进制格式的日志文件中(通常位于/var/log/journal/目录下)。
与传统的文本日志(如/var/log/syslog)不同,systemd日志具有结构化、可压缩、支持元数据等优势,且可通过journalctl命令灵活查询。
最简单的用法就是直接运行:
journalctl 这会显示从系统启动以来的所有日志,按时间顺序排列。由于日志可能非常多,建议结合分页器使用(默认已启用less)。
只显示当前系统启动后的日志:
journalctl -b 动态显示新产生的日志:
journalctl -f 例如查看SSH服务的日志:
journalctl -u ssh 其中-u表示指定unit(服务单元)。
查看今天日志:
journalctl --since today 查看最近1小时日志:
journalctl --since "1 hour ago" 支持的时间格式非常灵活,如yesterday、2024-06-01、2024-06-01 10:00:00等。
只显示来自内核的消息:
journalctl -k 你可以组合多个选项。例如,查看SSH服务在过去24小时内的日志:
journalctl -u ssh --since "24 hours ago" 默认情况下,systemd日志是易失的(重启后可能丢失)。若希望日志持久保存到磁盘,需创建日志目录并重启systemd-journald服务:
sudo mkdir -p /var/log/journalsudo systemd-tmpfiles --create --prefix /var/log/journalsudo systemctl restart systemd-journald 通过本文,你已经掌握了Ubuntu journalctl命令的基本与进阶用法,能够高效地进行Linux系统日志管理和journalctl日志分析。无论是排查服务故障、监控系统行为,还是审计安全事件,systemd日志查看都是不可或缺的技能。
建议多加练习,尝试不同的过滤条件,你会发现journalctl远比传统日志工具更强大、更智能!
本文由主机测评网于2025-12-22发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/20251211426.html