温馨提示×

Debian日志怎么搜索

小樊
43
2026-07-27 01:33:41
栏目: 智能运维

在 Debian 系统中,日志搜索主要围绕 systemd 日志(journalctl)传统日志文件(/var/log/) 进行。下面按常见场景给你一个实用速查表。


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

1️⃣ 查看所有日志

journalctl

2️⃣ 实时查看日志(类似 tail -f)

journalctl -f

3️⃣ 按服务搜索

journalctl -u nginx
journalctl -u ssh
journalctl -u docker

4️⃣ 按时间搜索

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

5️⃣ 按启动次数查看

journalctl -b        # 本次启动
journalctl -b -1     # 上一次启动

6️⃣ 搜索关键词

journalctl | grep "error"
journalctl -u ssh | grep "Failed"

7️⃣ 按优先级(严重级别)

journalctl -p err
journalctl -p warning
级别 含义
0 emerg
1 alert
2 crit
3 err
4 warning
5 notice
6 info
7 debug

二、传统日志文件(/var/log/)

常用日志位置

/var/log/syslog        # 系统日志(Debian 默认)
/var/log/messages      # 部分系统有
/var/log/auth.log      # 登录、SSH、sudo
/var/log/kern.log      # 内核日志
/var/log/dpkg.log      # 软件安装日志
/var/log/apt/

1️⃣ 查看日志

less /var/log/syslog

2️⃣ 实时查看

tail -f /var/log/syslog

3️⃣ 搜索关键词

grep "error" /var/log/syslog
grep -i "failed" /var/log/auth.log

4️⃣ 查看最近 N 行

tail -n 100 /var/log/syslog

三、常见场景示例

✅ 查看 SSH 登录失败

grep "Failed password" /var/log/auth.log

journalctl -u ssh | grep "Failed"

✅ 查看某个时间段错误

journalctl --since "10 minutes ago" -p err

✅ 查看某个程序崩溃

journalctl -p err | grep nginx

✅ 查看 APT 安装历史

grep "install" /var/log/dpkg.log

四、日志权限问题

日志通常需要 root 权限:

sudo journalctl
sudo less /var/log/syslog

五、快速选择建议

场景 推荐方式
systemd 服务问题 journalctl -u 服务名
实时日志 journalctl -f
登录/安全 /var/log/auth.log
历史问题 journalctl --since
老系统 /var/log/syslog

如果你有具体需求(比如:SSH 被暴力破解、Docker 启动失败、系统卡死、某个服务报错),可以直接告诉我,我可以给你精确的搜索命令。

0