在 Debian 里,“syslog 排序”通常有几层意思,我分别说一下常见场景和做法。
Debian 默认使用 rsyslog 或 syslog-ng,日志一般在:
/var/log/syslog
less /var/log/syslog
或
tail -f /var/log/syslog
tac /var/log/syslog | less
或
tail -n 100 /var/log/syslog
如果是 systemd(Debian 8+ 基本都是):
journalctl
journalctl -r
journalctl --since "2024-01-01 00:00:00" --until "2024-01-02 00:00:00"
journalctl -u ssh
journalctl -u nginx --since today
如果日志本身顺序乱了,可以按时间戳排序:
sort -k1M -k2 -k3 /var/log/syslog
更稳妥(按完整时间):
sort -t' ' -k1,3 /var/log/syslog
⚠️ 注意:如果日志被截断或格式不统一,sort 可能不准。
journalctl -p err
journalctl -p warning..err
级别:
emerg > alert > crit > err > warning > notice > info > debug
lnav(超好用日志浏览器,支持自动排序)sudo apt install lnav
lnav /var/log/syslog
multitailsudo apt install multitail
multitail /var/log/syslog
| 需求 | 推荐命令 |
|---|---|
| 看最新日志 | journalctl -r |
| 看某服务 | journalctl -u 服务名 |
| 看文件 | less /var/log/syslog |
| 高级分析 | lnav |
如果你能说清楚:
我可以给你更精确的命令。