温馨提示×

Debian怎么提取日志

小樊
44
2026-07-23 15:28:44
栏目: 智能运维

在 Debian 系统中,提取日志主要依赖 systemd 日志系统(journalctl)传统日志文件。下面按常见场景给你一套实用方法。


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

1️⃣ 查看全部日志

journalctl

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

journalctl -f

3️⃣ 查看某服务的日志

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

4️⃣ 按时间提取日志

# 今天
journalctl --since today

# 最近 1 小时
journalctl --since "1 hour ago"

# 指定时间段
journalctl --since "2025-01-01 08:00:00" --until "2025-01-01 18:00:00"

5️⃣ 导出日志到文件(提取日志)

journalctl -u nginx > nginx.log
journalctl --since today > today.log

6️⃣ 查看内核日志

journalctl -k

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

Debian 仍然保留传统日志目录:

ls /var/log

常见日志文件

日志 说明
/var/log/syslog 系统日志
/var/log/messages 部分系统消息
/var/log/auth.log 登录、SSH、sudo
/var/log/kern.log 内核日志
/var/log/dpkg.log 软件安装/卸载
/var/log/apt/history.log apt 操作记录

查看方式

cat /var/log/syslog
less /var/log/syslog
tail -f /var/log/syslog

三、过滤和提取日志(grep)

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

四、按服务/进程提取日志

查看某个 PID 的日志

journalctl _PID=1234

查看某用户的日志

journalctl _UID=1000

五、将日志打包导出(常用排错)

journalctl --since "2025-01-01" > system.log
tar czf logs.tar.gz system.log

六、如果 journalctl 没有日志

可能是日志未持久化,检查:

ls /var/log/journal

启用持久化:

sudo mkdir -p /var/log/journal
sudo systemctl restart systemd-journald

七、常见实用组合(推荐)

✅ 查看 SSH 登录失败:

journalctl -u ssh | grep "Failed"

✅ 查看今天系统错误:

journalctl --since today --priority=err

✅ 查看某时间段 nginx 错误:

journalctl -u nginx --since "09:00" --until "10:00"

如果你能告诉我:

  • 系统日志 / 应用日志 / 安全日志
  • 想提取 某个时间段 / 某个服务
  • 是否用于 排错 / 审计 / 自动分析

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

0