Debian 系统“日志没有记录”一般不是日志功能完全坏掉,而是记录方式、位置或配置发生了变化。下面按常见原因逐一说明,你可以对照排查。
从 Debian 8 开始,默认日志系统主要是:
/var/log/messages 不存在或为空/var/log/syslog 没有内容journalctl 能看日志journalctl
journalctl -xe
如果有内容,说明日志在记录,只是不在传统文件里。
很多用户以为 Debian 一定会写 /var/log/*,但其实:
systemctl status rsyslog
如果提示 not found 或 inactive:
# 安装
apt update
apt install rsyslog
# 启动
systemctl enable --now rsyslog
journald 可配置为:
cat /etc/systemd/journald.conf
重点看:
Storage=auto
可选值:
volatile → 只存内存(重启清空)persistent → 存磁盘(/var/log/journal)auto → 有目录才存mkdir -p /var/log/journal
systemctl restart systemd-journald
日志写不进去,但系统不报错。
df -h
df -i
如果 /var 或 / 满了:
例如:
*.info;mail.none;authpriv.none /var/log/messages
如果改成了:
*.err
那普通日志就不会写。
有些服务:
例如:
/var/log/nginx/journalctl -u dockerDebian 常见日志位置:
| 日志 | 说明 |
|---|---|
/var/log/syslog |
rsyslog |
/var/log/auth.log |
登录/认证 |
/var/log/kern.log |
内核 |
journalctl |
systemd |
# 1. 是否有 journal 日志
journalctl -n 50
# 2. rsyslog 是否在跑
systemctl status rsyslog
# 3. 磁盘是否满
df -h
# 4. journal 是否持久
ls /var/log/journal
如果你愿意,可以告诉我:
cat /etc/debian_version)我可以直接帮你定位是哪一种情况。