在 Debian 系统中,“日志缺失”是一个比较常见的问题,原因可能涉及 配置、服务状态、存储介质、权限甚至系统异常。下面按常见原因 → 排查方法 → 解决办法系统说明。
Debian 默认使用 rsyslog 写 /var/log/syslog、/var/log/messages 等。
systemctl status rsyslog
如果状态是 inactive (dead):
sudo systemctl enable --now rsyslog
journalctl
如果提示:
No journal files were foundFailed to read journal检查:
systemctl status systemd-journald
启动:
sudo systemctl restart systemd-journald
检查:
cat /etc/rsyslog.conf
ls /etc/rsyslog.d/
常见问题:
*.info;mail.none;authpriv.none 被误删默认 Debian 可能不保存重启前的日志。
查看:
cat /etc/systemd/journald.conf | grep Storage
若看到:
Storage=none
或
Storage=volatile
改为:
Storage=persistent
然后:
sudo mkdir -p /var/log/journal
sudo systemctl restart systemd-journald
cat /etc/logrotate.d/rsyslog
常见问题:
rotate 0size 1kdaily + 很短保留时间ls -l /var/log
如果文件大小为 0 或不存在:
sudo touch /var/log/syslog
sudo chown syslog:adm /var/log/syslog
sudo systemch restart rsyslog
df -h
如果 /var 或 / 是 100%:
df -i
如果是 100%:
find /var/log -type f | wc -l
ls -l /var/log/syslog
正常应为:
-rw-r----- syslog adm
修复:
sudo chown syslog:adm /var/log/syslog
sudo chmod 640 /var/log/syslog
可检查:
dmesg
systemctl status rsyslog
systemctl status systemd-journald
journalctl -xe
df -h
df -i
ls -l /var/log
cat /etc/systemd/journald.conf | grep Storage
你可以补充:
/var/log/syslogjournalctlcat /etc/debian_version)我可以直接帮你定位是哪一种情况。