温馨提示×

怎么实时查看Debian日志

小樊
49
2026-08-23 04:06:04
栏目: 智能运维

在 Debian 系统中,实时查看日志最常用、最方便的方法是使用 journalctl(systemd 日志)或 tail -f(传统日志文件)。下面按常见场景给你一份速查表。


一、使用 journalctl(推荐,systemd 系统)

Debian 8 及以后默认使用 systemd,日志由 systemd-journald 管理。

1️⃣ 实时查看所有系统日志

sudo journalctl -f

-f = follow,类似 tail -f


2️⃣ 实时查看某个服务的日志

sudo journalctl -u nginx -f
sudo journalctl -u ssh -f
sudo journalctl -u docker -f

3️⃣ 查看指定时间段的日志

sudo journalctl --since "2025-01-20 10:00" --until "2025-01-20 12:00"

4️⃣ 按优先级查看(只看错误)

sudo journalctl -p err -f

优先级:

  • emerg
  • alert
  • crit
  • err
  • warning
  • notice
  • info
  • debug

5️⃣ 查看内核日志(类似 dmesg)

sudo journalctl -k -f

二、使用 tail -f(传统日志文件)

适用于仍在写入 /var/log/ 的服务。

1️⃣ 实时查看系统日志

sudo tail -f /var/log/syslog

有些系统可能是:

sudo tail -f /var/log/messages

2️⃣ 查看认证日志(SSH 登录等)

sudo tail -f /var/log/auth.log

3️⃣ 查看某个应用的日志

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

四、按关键字过滤(非常实用)

1️⃣ 实时过滤关键字

sudo journalctl -f | grep ssh

sudo tail -f /var/log/auth.log | grep ssh

2️⃣ 忽略大小写

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

如果你愿意,可以告诉我:

  • Debian 版本(cat /etc/debian_version
  • 想看的是 系统日志 / 某个服务 / 网络 / 安全 / 硬件

我可以给你更精确的命令。

0