在 Debian 系统中,“日志”通常指 系统日志(syslog / journald)、内核日志、应用日志(如 Nginx、Apache) 等。下面按常见场景介绍如何“过滤”日志。
Debian 9+ 默认使用 systemd-journald。
journalctl -u nginx.service
journalctl -u ssh.service
journalctl --since "2026-01-01 00:00:00"
journalctl --since "1 hour ago"
journalctl --since yesterday --until today
journalctl -p err
journalctl -p warning
优先级:
emerg > alert > crit > err > warning > notice > info > debug
journalctl | grep "Failed password"
journalctl -u ssh | grep -i "authentication failure"
journalctl -f -u nginx
journalctl -f | grep "error"
日志通常在 /var/log/:
| 文件 | 说明 |
|---|---|
/var/log/syslog |
系统日志 |
/var/log/auth.log |
登录、SSH |
/var/log/kern.log |
内核日志 |
/var/log/dpkg.log |
软件安装 |
grep "error" /var/log/syslog
grep "Failed password" /var/log/auth.log
grep "Jan 20" /var/log/syslog
tail -f /var/log/syslog
tail -f /var/log/auth.log | grep sshd
grep "Failed password" /var/log/auth.log
grep "192.168.1.100" /var/log/auth.log
grep -i "error" /var/log/nginx/error.log
grep "username" /var/log/auth.log
awk 按列过滤awk '$1=="Jan" && $2>20' /var/log/syslog
logwatch(每日汇总)apt install logwatch
logwatch
lnav(日志浏览器)apt install lnav
lnav /var/log/syslog
我可以给你精确的命令示例。