在 Linux 中“检索特定日志”通常分三种场景:系统日志(journalctl)、文本日志文件(grep/awk)、按时间/关键字/服务过滤。下面按实用方式给你总结。
适用于 CentOS 7+/Ubuntu 16.04+
journalctl -u nginx
journalctl -u sshd
journalctl -u nginx -f
journalctl --since "2024-01-01 00:00:00" --until "2024-01-02 00:00:00"
journalctl --since "1 hour ago"
journalctl | grep "error"
journalctl -u nginx | grep "404"
journalctl -p err
常见路径:
/var/log/messages/var/log/syslog/var/log/nginx/access.log/var/log/nginx/error.loggrep "ERROR" /var/log/syslog
grep -i "timeout" /var/log/messages
grep -n "failed" /var/log/auth.log
# 同时包含
grep "error" /var/log/syslog | grep "nginx"
# 或关系
grep -E "error|warn" /var/log/syslog
tail -f /var/log/nginx/access.log
tail -F /var/log/nginx/error.log
sed -n '/2024-01-01 10:00/,/2024-01-01 11:00/p' /var/log/nginx/access.log
grep -c "404" /var/log/nginx/access.log
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c
zgrep "error" /var/log/messages-*.gz
grep -r "OutOfMemory" /var/log/
# 查看 SSH 登录失败
grep "Failed password" /var/log/auth.log
# 查看 Nginx 5xx 错误
grep " 500 " /var/log/nginx/access.log
# 最近 100 行错误
journalctl -p err -n 100
如果你能告诉我:
我可以直接给你一条“可复制即用”的命令。