在 Debian 系统中,日志过滤通常取决于你使用的日志系统(rsyslog / journald)以及你想从哪类日志中提取信息。下面按常见场景给你一个实用指南。
Debian 默认使用 systemd-journald。
journalctl -u nginx
journalctl -u ssh.service
journalctl --since "2024-01-01 00:00:00"
journalctl --since "1 hour ago"
journalctl --until "10 minutes ago"
journalctl -p err
journalctl -p warning..err
journalctl | grep "error"
journalctl -u nginx | grep "timeout"
journalctl -f -u docker
日志通常位于:
/var/log/syslog
/var/log/messages
/var/log/auth.log
grep "sshd" /var/log/auth.log
grep -i "error" /var/log/syslog
grep "Jan 15 10:" /var/log/syslog
tail -f /var/log/syslog
tail -f /var/log/auth.log | grep "Failed"
grep "Failed password" /var/log/auth.log
grep "192.168.1.100" /var/log/auth.log
ps aux | grep nginx
journalctl _PID=1234
awk '{print $1, $2, $3}' /var/log/syslog
grep "error" /var/log/syslog | wc -l
Debian 使用 logrotate:
/var/log/syslog
/var/log/syslog.1
/var/log/syslog.2.gz
查看压缩日志:
zcat /var/log/syslog.2.gz | grep "error"
journalctl -u nginx --since "today" | grep -i "error"
tail -f /var/log/auth.log | grep "Failed"
如果你能告诉我:
我可以给你更精确的命令示例。