Debian 12(Bookworm)系统日志访问及存储方式咨询
Debian 12(Bookworm)系统日志访问及存储方式咨询
嘿,这个问题戳中了不少从旧版Debian升级过来的用户的痛点!没错,Debian 12 Bookworm确实默认移除了/var/log/syslog、/var/log/auth.log、/var/log/kern.log这些传统日志文件——因为它改用systemd-journald作为默认的日志管理系统了,存储和查看逻辑都有了变化。
下面给你两种解决方案,按需选择:
方案一:使用新的日志工具journalctl(推荐)
这是Bookworm默认的日志查看方式,比传统文件日志更灵活,支持结构化筛选:
- 查看所有系统日志(类似
cat /var/log/syslog):直接运行journalctl,内容太多的话可以加分页journalctl | less - 查看内核日志(对应原来的
kern.log):journalctl -k - 查看认证相关日志(对应原来的
auth.log):可以按服务筛选,比如SSH认证日志用journalctl -u sshd.service,或者更宽泛地看所有认证事件journalctl _SYSTEMD_UNIT=sshd.service - 实时跟踪日志(替代
tail -f /var/log/syslog):journalctl -f - 按时间范围筛选:比如查看今天的日志
journalctl --since today,或者昨天18点到现在的日志journalctl --since "yesterday 18:00" --until now - 按日志优先级筛选:比如只看错误级别的日志
journalctl -p err
如果你的日志重启后丢失,可能是journald没有开启持久化存储,执行以下命令开启:
sudo mkdir -p /var/log/journal sudo systemd-tmpfiles --create --prefix /var/log/journal sudo systemctl restart systemd-journald
方案二:恢复传统的日志文件格式
如果你实在习惯旧的/var/log下的日志文件,可以安装rsyslog来还原:
- 安装rsyslog:
sudo apt install rsyslog - 启动并设置开机自启:
sudo systemctl enable --now rsyslog
安装完成后,/var/log/syslog、/var/log/auth.log这些文件就会像之前一样自动生成,你可以继续用熟悉的工具(比如tail、grep)操作它们。
备注:内容来源于stack exchange,提问作者Omidreza Bagheri




