You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何追踪指定systemd单元的实时日志?

实时追踪指定systemd单元日志的专属命令

当然有专门的解决方案!你提到的痛点我太懂了——用journalctl加grep过滤不仅麻烦,还不够高效,而systemd其实早就为我们准备了直接追踪单个单元日志的参数,完全不用临时凑方案。

最核心的命令就是:

journalctl -u <你的单元名> -f

参数解释

  • -u(或者--unit):指定要追踪的systemd单元,比如nginx.service或者docker.socket,不用写全路径,直接写单元名就行。
  • -f(或者--follow):开启实时追踪模式,就像tail -f一样,会持续输出新产生的日志。

举个实际例子,如果你要实时追踪nginx服务的日志,直接运行:

journalctl -u nginx.service -f

进阶实用技巧

  • 如果你想先看最近的若干行日志,再开始实时追踪,可以加上-n参数指定行数,比如先看最近30行再跟进:
    journalctl -u nginx.service -n 30 -f
    
  • 只追踪错误级别的日志?用-p参数指定日志优先级,比如只看错误和更严重的日志:
    journalctl -u nginx.service -p err -f
    
  • 需要更详细的日志信息(比如进程ID、日志字段详情),可以用-o verbose输出 Verbose 格式,或者-o json输出JSON格式方便脚本处理:
    journalctl -u nginx.service -o verbose -f
    

这个方法比journalctl -f | grep <单元名>靠谱多了——它是直接从journald的底层数据源中过滤指定单元的日志,不仅效率更高,还不会因为日志输出太快导致grep漏抓内容,完全是系统化的解决方案。

内容的提问来源于stack exchange,提问作者jirislav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 04:20:29