📑 文章章节大纲 (点击平滑直达)
一、问题需求
在使用 systemctl / journalctl 维护 Debian / Ubuntu / CentOS 服务时,经常需要在脚本或终端中快速截取指定服务最新的 $N$ 行日志进行监控或分析。
二、常用截取方案
方法 1:管道连接 tail(通用推荐)
直接将 journalctl 的输出重定向给 tail:
# 查看指定服务最新的 300 行日志
journalctl -u my.service --no-pager | tail -n 300
说明:添加
--no-pager参数可以避免进入分页浏览模式,便于脚本自动化获取。
方法 2:使用 journalctl 原生 -n 参数
journalctl 本身支持 -n 参数直接指定拉取最新的条数:
# 直接获取最新 300 行日志
journalctl -u my.service -n 300 --no-pager
方法 3:使用 -e 选项直接跳至日志末尾
在终端交互时,可以配合 -e 进入分页器并定位到底部:
journalctl -u my.service -e