在Linux系统中,日志文件是系统运行状态、应用程序行为和故障排查的重要信息来源。以下是主要日志类型及其作用的详细分类:
内核日志
/var/log/kern.log
dmesg
命令可直接查看实时内核日志。系统启动日志
/var/log/boot.log
(部分发行版)Systemd日志(现代发行版)
journalctl
bash
journalctl -u nginx.service # 查看Nginx服务日志
journalctl --since "2023-10-01" --until "2023-10-02"
Syslog传统日志
/etc/rsyslog.conf
或 /etc/syslog.conf
/var/log/syslog
(通用系统日志,Debian系)/var/log/messages
(通用日志,RHEL系)/var/log/auth.log
(认证日志,如SSH登录)Web服务器
/var/log/nginx/access.log
和 error.log
/var/log/apache2/access.log
和 error.log
(Debian系)数据库
/var/log/mysql/error.log
/var/log/postgresql/*.log
其他服务
/var/log/cron
或 syslog
中的cron条目/var/log/mail.log
认证日志
/var/log/auth.log
或 /var/log/secure
(RHEL系)审计日志
/var/log/audit/audit.log
ausearch
和 aureport
(需安装auditd
服务)。失败的登录尝试
lastb
(需root权限)/var/log/dpkg.log
(软件包安装/卸载记录)/var/log/yum.log
用户登录历史
last
(读取/var/log/wtmp
)who
(读取/var/log/utmp
)进程监控
top
, htop
, ps
syslog
或auditd
追踪。/etc/logrotate.conf
及 /etc/logrotate.d/*
rsyslog
或syslog-ng
集中收集多台服务器日志。# 实时跟踪日志更新
tail -f /var/log/syslog
# 按时间过滤日志(journalctl示例)
journalctl --since "10:00" --until "11:00"
# 查找错误关键词
grep -i "error" /var/log/syslog
# 统计SSH失败登录
grep "Failed password" /var/log/auth.log | wc -l
通过合理利用这些日志文件,可以快速诊断系统问题、优化性能并增强安全性。建议定期审查关键日志,并配置日志轮转以避免磁盘空间耗尽。