Linux日志查看入门:journalctl、tail与日志轮转实战

举报
f841705799 发表于 2026/10/29 11:41:50 2026/10/29
【摘要】 出问题先看日志,几乎是 Linux 排查的第一反应。但很多人一打开日志就被海量输出吓住:不知道去哪里找、该用什么命令、哪些行才是关键。本文用最常用的 journalctl、tail、grep 和日志轮转,讲一套可以马上动手的工作流。一、先分清两类日志系统服务大多由 systemd 管理,日志集中在 journald,可用 journalctl 查询;传统应用和系统组件还会写 /var/log...

出问题先看日志,几乎是 Linux 排查的第一反应。但很多人一打开日志就被海量输出吓住:不知道去哪里找、该用什么命令、哪些行才是关键。本文用最常用的 journalctl、tail、grep 和日志轮转,讲一套可以马上动手的工作流。


一、先分清两类日志

系统服务大多由 systemd 管理,日志集中在 journald,可用 journalctl 查询;传统应用和系统组件还会写 /var/log 下的文本文件,例如 messages、secure、nginx 的 access.log 和 error.log。先问一句:是 systemd 服务,还是某个应用自己写文件?前者用 journalctl,后者直接看文件。


二、journalctl 的常用姿势

查看某个服务最近的日志:journalctl -u nginx -n 100。实时跟随输出,相当于 tail -f:journalctl -u nginx -f。只看报错和更严重的级别:journalctl -p err -u nginx。按时间过滤很实用,例如今天的记录:journalctl --since today -u nginx;也可以写具体时间段:journalctl --since "2026-10-29 09:00" --until "2026-10-29 10:00"。


三、文本日志的查看与过滤

看文件尾部:tail -n 200 /var/log/messages。实时跟随:tail -f /var/log/nginx/error.log。分页查看:less /var/log/messages,在 less 里按 / 输入关键字搜索,按 n 跳到下一个匹配。组合 grep 更精准:grep -i "error" /var/log/nginx/error.log | tail -n 50。注意不要只看第一行报错,往前翻几十行,往往能看到真正的触发点。


四、一个可复用的排查顺序

第一步,确认时间和范围:故障发生在几点,服务有没有重启。第二步,用 journalctl 或 tail 定位报错关键字和第一条异常。第三步,核对配置最近是否改动,服务端口、磁盘、权限是否正常。第四步,复现一次最小操作,再看日志是否出现相同的错误。把每一步的命令和关键日志截图或摘录保存下来,复盘和求助都会快很多。


五、日志轮转与磁盘空间

日志会越写越大,logrotate 会定期压缩、归档和删除旧日志,常见配置在 /etc/logrotate.d/。如果磁盘突然满了,先用 du -sh /var/log/* 找大文件,再检查是哪个服务在刷日志,解决源头后再清理,不要直接删除正在被写入的日志文件,必要时先复制备份。生产环境还要留意日志里可能包含令牌、密码或个人信息,分享前先脱敏。


总结:先分清 journald 还是文本文件,再用 journalctl 按服务、级别和时间过滤,对文本日志用 tail、less、grep 组合定位,最后养成看时间、看第一条异常、留存关键日志的习惯。掌握这套流程,大多数常见故障都能在几分钟内找到方向。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。