在 Ubuntu 里查看 syslog 历史记录,主要分几种情况:看当前日志、看已轮转的历史日志、以及用 journalctl(systemd 接管后更常用)。下面按常见场景说明。
cat /var/log/syslog
或分页查看:
less /var/log/syslog
tail -f /var/log/syslog
Ubuntu 默认会用 logrotate 对日志进行轮转,历史文件通常是:
/var/log/syslog.1
/var/log/syslog.2.gz
/var/log/syslog.3.gz
...
less /var/log/syslog.1
.gz 压缩的历史日志zless /var/log/syslog.2.gz
或:
zcat /var/log/syslog.2.gz | less
Ubuntu 16.04 及以后基本都用 systemd,日志由 systemd-journald 管理。
journalctl
journalctl -f
journalctl --since "2025-01-20" --until "2025-01-21"
journalctl -u ssh
journalctl -u nginx
journalctl --boot=-1
如果是历史内核问题(如死机、OOM、驱动):
dmesg
查看上一次启动的 dmesg(systemd):
journalctl -k --boot=-1
grep "Jan 20" /var/log/syslog
grep -i "error" /var/log/syslog
grep "192.168.1.10" /var/log/syslog
可能是:
检查:
ls /var/log/
systemctl status rsyslog
启动 rsyslog:
sudo systemctl enable --now rsyslog
✅ 实时:tail -f /var/log/syslog
✅ 历史:zless /var/log/syslog.2.gz
✅ 现代方式:journalctl -u 服务名
如果你是想查 某次宕机 / 登录失败 / OOM / Docker / 网络异常,可以告诉我具体场景,我可以给你更精准的命令。