在 Debian 系统中,“监控日志变化”通常有几种层次:实时查看、变化告警、集中收集分析。下面按常见场景给你一套实用方案。
tail -f适合临时观察某个日志文件:
tail -f /var/log/syslog
tail -f /var/log/auth.log
只显示新增内容,Ctrl+C 退出。
less +F适合需要偶尔翻看历史:
less +F /var/log/syslog
F:跟随模式Ctrl+C:停止跟随F 再次进入跟随Debian 默认使用 systemd-journald。
journalctl -f
journalctl -u nginx -f
journalctl -p err -f
journalctl --since "10 min ago"
✅ 优点:不用关心日志文件路径,自动管理轮转。
inotifywait(文件级监控)安装:
apt install inotify-tools
监控日志写入:
inotifywait -m /var/log/syslog
示例(变化时发通知):
inotifywait -m -e modify /var/log/auth.log | \
while read path event file; do
echo "日志变化: $path$file"
done
tail -f /var/log/auth.log | grep --line-buffered "Failed password"
tail -f /var/log/syslog | \
grep --line-buffered "error" | \
while read line; do
echo "$line" | mail -s "日志告警" admin@example.com
done
Debian 默认已配置:
/etc/logrotate.d/
适合多台服务器。
/var/log/auth.log/var/log/syslog/var/log/kern.logroot 登录、SSH 失败做告警如果你能告诉我:
我可以给你一套更精准的配置示例。