在 Debian(以及大多数 Linux 系统)中,查看历史日志主要依赖 systemd-journald 和 rsyslog 两类日志系统。下面按常见场景给你一个完整说明。
journalctl(推荐,systemd 系统)Debian 8 及以后默认使用 systemd,日志由 systemd-journald 管理。
journalctl
按 空格 翻页,q 退出。
journalctl -b -1
-b:指定启动-1:上一次启动-2:上上次启动(依此类推)journalctl --since "2025-01-01" --until "2025-01-10"
或:
journalctl --since "2 days ago"
journalctl -u nginx
journalctl -u ssh
查看某服务上一次启动的日志:
journalctl -u nginx -b -1
journalctl -k
journalctl -p err
优先级:
emergalertcriterrwarningnoticeinfodebug/var/log/ 下的传统日志文件如果系统安装了 rsyslog,历史日志通常以文件形式存在。
/var/log/syslog # 系统日志(Debian 特有)
/var/log/messages # 部分系统有
/var/log/auth.log # 登录、sudo、SSH
/var/log/kern.log # 内核日志
/var/log/dpkg.log # 软件安装/卸载
/var/log/apt/history.log
less /var/log/syslog
Debian 默认会轮转日志:
/var/log/syslog.1
/var/log/syslog.2.gz
/var/log/syslog.3.gz
查看 .gz 日志:
zless /var/log/syslog.2.gz
查看当前限制:
journalctl --disk-usage
清理旧日志(谨慎):
journalctl --vacuum-time=7d
Debian 使用 logrotate 自动压缩、删除旧日志。
配置位置:
/etc/logrotate.conf
/etc/logrotate.d/
journalctl -u ssh --since "yesterday" | grep Failed
或:
grep "Failed" /var/log/auth.log
journalctl -b -1 -p err
先执行:
which journalctl
journalctl/var/log/如果你能说明:
cat /etc/debian_version)我可以给你更精确的命令。