在 Debian 系统中,实时查看日志最常用、最方便的方法是使用 journalctl(systemd 日志)或 tail -f(传统日志文件)。下面按常见场景给你一份速查表。
journalctl(推荐,systemd 系统)Debian 8 及以后默认使用 systemd,日志由 systemd-journald 管理。
sudo journalctl -f
-f= follow,类似tail -f
sudo journalctl -u nginx -f
sudo journalctl -u ssh -f
sudo journalctl -u docker -f
sudo journalctl --since "2025-01-20 10:00" --until "2025-01-20 12:00"
sudo journalctl -p err -f
优先级:
emergalertcriterrwarningnoticeinfodebugsudo journalctl -k -f
tail -f(传统日志文件)适用于仍在写入 /var/log/ 的服务。
sudo tail -f /var/log/syslog
有些系统可能是:
sudo tail -f /var/log/messages
sudo tail -f /var/log/auth.log
sudo tail -f /var/log/nginx/access.log
sudo tail -f /var/log/nginx/error.log
sudo tail -f /var/log/mysql/error.log
sudo tail -f /var/log/syslog /var/log/auth.log
sudo journalctl -f | grep ssh
或
sudo tail -f /var/log/auth.log | grep ssh
sudo journalctl -f | grep -i error
journalctl -b
实时查看本次启动后的日志:
journalctl -b -f
journalctl 没日志?可能是日志被清理或没持久化:
sudo mkdir -p /var/log/journal
sudo systemctl restart systemd-journald
大多数日志需要 root:
sudo -i
✅ 排查 SSH 登录问题
sudo tail -f /var/log/auth.log
✅ 排查服务崩溃
sudo journalctl -u 服务名 -f
✅ 排查系统异常
sudo journalctl -p err -f
如果你愿意,可以告诉我:
cat /etc/debian_version)我可以给你更精确的命令。