温馨提示×

怎么搜索linux错误日志

小樊
46
2026-09-26 16:17:32
栏目: 智能运维

在 Linux 中搜索错误日志,常见做法和命令如下,按使用频率从高到低说明:


一、系统日志位置(先知道日志在哪)

不同发行版略有区别:

  • CentOS / RHEL / Fedora
    • /var/log/messages:通用系统日志
    • /var/log/secure:安全相关
  • Ubuntu / Debian
    • /var/log/syslog:系统日志
    • /var/log/auth.log:认证日志
  • 使用 systemd 的系统(大多数现代发行版)
    • 日志由 journalctl 管理,不依赖文件

二、最常用:用 journalctl 搜错误(推荐)

# 查看所有错误级别日志
journalctl -p err -xb

# 实时跟踪错误日志
journalctl -p err -f

# 某个服务的错误
journalctl -u nginx -p err

# 指定时间范围
journalctl --since "2024-01-01" --until "2024-01-02" -p err

说明:

  • -p err:只显示 error 级别
  • -x:显示解释信息
  • -b:本次启动

三、用 grep 搜索日志文件

# 在系统日志中搜 error
grep -i error /var/log/messages
grep -i error /var/log/syslog

# 忽略大小写 + 显示行号
grep -in error /var/log/syslog

# 搜多个关键词
grep -E "error|fail|warning" /var/log/syslog

# 最近 100 行里搜
tail -n 100 /var/log/syslog | grep -i error

四、按服务查日志

# Nginx
grep -i error /var/log/nginx/error.log

# MySQL
grep -i error /var/log/mysql/error.log

# Docker
docker logs <容器名> 2>&1 | grep -i error

五、实时查看日志(排错很有用)

tail -f /var/log/syslog
tail -f /var/log/nginx/error.log

六、常用组合示例

# 今天出现的错误
journalctl -p err --since today

# 某个时间点之后的错误
journalctl -p err --since "09:00" --until "10:00"

# 统计错误出现次数
grep -i error /var/log/syslog | wc -l

如果你愿意,可以告诉我:

  • 你用的 Linux 发行版
  • 是 系统错误 还是 某个软件(如 Nginx / Docker / MySQL)

我可以直接给你更精确的命令。

0 踩