在 Linux 中搜索错误日志,常见做法和命令如下,按使用频率从高到低说明:
不同发行版略有区别:
/var/log/messages:通用系统日志/var/log/secure:安全相关/var/log/syslog:系统日志/var/log/auth.log:认证日志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:本次启动# 在系统日志中搜 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
如果你愿意,可以告诉我:
我可以直接给你更精确的命令。