在 Debian 里“读日志”通常有两层意思:
1)实时查看 / 搜索日志文件
2)用脚本自动化分析日志
下面按常见场景给你一套实用的做法。
/var/log/syslog
/var/log/auth.log
/var/log/kern.log
/var/log/dpkg.log
journalctl
sudo less /var/log/syslog
sudo tail -f /var/log/syslog
grep "error" /var/log/syslog
journalctl -b
journalctl -f
journalctl -u nginx.service
journalctl --since "2026-01-21 00:00:00" --until "2026-01-21 23:59:59"
#!/bin/bash
LOG=/var/log/syslog
echo "Error 出现次数:"
grep -c "error" "$LOG"
echo "Top 10 错误来源:"
grep "error" "$LOG" | awk '{print $5}' | sort | uniq -c | sort -rn | head
运行:
chmod +x log_check.sh
./log_check.sh
#!/bin/bash
journalctl -u ssh.service --since "1 hour ago" | grep "Failed password"
log_path = "/var/log/auth.log"
with open(log_path) as f:
for line in f:
if "Failed password" in line:
print(line.strip())
#!/bin/bash
COUNT=$(grep -c "Failed password" /var/log/auth.log)
if [ "$COUNT" -gt 10 ]; then
echo "SSH 暴力破解警告" | mail -s "安全警告" admin@example.com
fi
Debian 默认用 logrotate:
/var/log/syslog.1
/var/log/syslog.2.gz
脚本里建议用:
zcat /var/log/syslog.*.gz
✅ 新系统:优先用 journalctl
✅ 老系统 / 嵌入式:看 /var/log
✅ 脚本分析:Shell + awk / Python
✅ 安全日志:重点看 auth.log
如果你愿意,可以告诉我:
我可以直接帮你写一套可用的脚本。