在 Debian 系统中,日志过滤主要依赖 systemd-journald(现代 Debian 默认)和 rsyslog(传统日志系统)。下面按常见场景给你一个实用速查表。
journalctl(推荐,systemd 系统)journalctl -f
journalctl -u nginx
journalctl -u ssh
journalctl --since "2025-01-01"
journalctl --since "1 hour ago"
journalctl --since "2025-01-01 08:00" --until "2025-01-01 10:00"
journalctl -p err
journalctl -p warning
优先级:
0 emerg
1 alert
2 crit
3 err
4 warning
5 notice
6 info
7 debug
journalctl _PID=1234
journalctl _UID=1000
journalctl -u nginx -p err --since "10 minutes ago"
journalctl -o json
journalctl -o json-pretty
grep 过滤传统日志(/var/log)grep "Failed password" /var/log/auth.log
tail -f /var/log/syslog | grep sshd
grep -i error /var/log/syslog
grep -C 3 "error" /var/log/syslog
| 日志文件 | 说明 |
|---|---|
/var/log/syslog |
系统通用日志 |
/var/log/auth.log |
认证、SSH |
/var/log/kern.log |
内核日志 |
/var/log/dpkg.log |
软件安装 |
/var/log/nginx/ |
Nginx |
/var/log/mysql/ |
MySQL |
grep "error" /var/log/syslog | grep "$(date +%b\ %e)"
grep -c "Failed password" /var/log/auth.log
journalctl -b
或上一次启动:
journalctl -b -1
✅ 查看 SSH 登录失败:
journalctl -u ssh | grep "Failed"
✅ 查看 Nginx 报错:
journalctl -u nginx -p err
✅ 查看系统是否 OOM:
journalctl | grep -i "out of memory"
如果你愿意,可以告诉我:
我可以给你更精确的命令。