Debian 系统日志为空(例如 /var/log/syslog、/var/log/messages、/var/log/kern.log 等文件大小为 0 或不存在)通常由以下几种常见原因导致:
Debian 默认使用 systemd-journald,传统日志文件(syslog 等)由 rsyslog 或 syslog-ng 提供。
dpkg -l | grep rsyslog
如果没有安装:
sudo apt install rsyslog
sudo systemctl enable --now rsyslog
systemctl status rsyslog
若未运行:
sudo systemctl start rsyslog
现代 Debian 默认日志在 journal 中,而不是文本文件。
查看日志:
journalctl
journalctl -xe
查看是否持久化:
ls /var/log/journal
若目录不存在,说明日志只存在内存中。
启用持久化日志:
sudo mkdir -p /var/log/journal
sudo systemctl restart systemd-journald
ls -lh /var/log/
可能日志被轮转后原文件为空。
短时间无事件,日志可能为空。
df -h
磁盘满会导致日志无法写入。
ls -l /var/log/syslog
正常应属于 syslog:adm。
修复权限:
sudo chown syslog:adm /var/log/syslog
sudo chmod 640 /var/log/syslog
如果你在:
可能根本没有日志守护进程。
检查:
cat /etc/rsyslog.conf
是否有:
*.* ~
或注释掉所有规则。
systemctl status rsyslog
systemctl status systemd-journald
journalctl | head
ls -lh /var/log/
df -h
如果你愿意,可以告诉我:
cat /etc/debian_version)我可以更精确地帮你定位原因。