Debian 本身是有日志系统的,通常不会“完全没日志”。如果你觉得 Debian 没有日志,常见原因有以下几种,你可以对照看看:
现代 Debian(8 及以后)默认用 systemd + journald,日志不写在 /var/log/messages 这种文件里,而是二进制日志。
查看方式:
journalctl
查看某服务:
journalctl -u nginx
实时查看:
journalctl -f
如果你只看了 /var/log/,会以为“没日志”。
默认情况下,Debian 的 journal 可能只存在内存中,重启后就没了。
检查:
ls /var/log/journal
如果没有这个目录,说明没开持久日志。
开启方法:
sudo mkdir -p /var/log/journal
sudo systemctl restart systemd-journald
有些最小化安装(尤其是容器或云镜像)不装 rsyslog / syslog-ng。
检查:
which rsyslogd
没装就装:
sudo apt install rsyslog
sudo systemctl enable --now rsyslog
装完才会有:
/var/log/syslog/var/log/messages/var/log/auth.log在 Docker、LXC、chroot 里:
这是“正常没日志文件”。
可能:
logrotate 把日志删了df -h)有些程序:
journalctl | head
ls /var/log/
dpkg -l | grep -E 'rsyslog|systemd'
如果你能说一下:
我可以更精确地告诉你原因。