2022-09-03 11:58:17
在Linux系统中,日志文件主要存放在/var/log目录下,可通过命令行工具查看,具体方法如下:
一、常见日志文件路径/var/log/syslog(Debian/Ubuntu等)或 /var/log/messages(CentOS/RHEL等):记录系统大部分活动,包括服务启动、错误信息等。
/var/log/auth.log(Debian/Ubuntu)或 /var/log/secure(CentOS/RHEL):记录用户登录、sudo操作、权限变更等。
/var/log/dmesg:内核环缓冲区信息,包含硬件检测和驱动加载记录。
/var/log/kern.log:内核产生的详细日志(部分发行版可能合并到syslog或messages中)。
/var/log/boot.log:记录系统启动过程中的关键事件。
/var/log/cron:记录crond定时任务的执行情况。
Apache:/var/log/httpd/*(CentOS/RHEL)或 /var/log/apache2/*(Debian/Ubuntu)。
Nginx:/var/log/nginx/*。
Debian/Ubuntu:/var/log/apt/history.log(记录apt操作)。
CentOS/RHEL:/var/log/yum.log(记录yum操作)。
注意:不同Linux发行版可能存在细微差异,例如文件名后缀或路径结构。
二、命令行工具查看日志静态查看工具
cat:直接输出日志内容(适合短文件)。sudo cat /var/log/syslog
less:分页查看,支持上下滚动和搜索(按/输入关键词)。sudo less /var/log/auth.log
tail:查看文件末尾内容,默认显示最后10行。sudo tail /var/log/nginx/access.log
实时监控工具
tail -f:实时追踪日志更新(调试服务时常用)。sudo tail -f /var/log/syslog按Ctrl+C退出实时监控。
systemd系统专用工具
journalctl:查看由systemd-journald管理的日志。
查看所有日志:journalctl
查看特定服务日志(如Nginx):journalctl -u nginx.service
按时间筛选(如最近1小时):journalctl --since "1 hour ago"
显示详细解释(翻译机器码为可读信息):journalctl -x
内核日志专用工具
dmesg:查看内核环缓冲区日志,常用于排查硬件问题。dmesg结合less分页查看:dmesg | less
配置文件路径:
主配置:/etc/logrotate.conf
服务定制:/etc/logrotate.d/(如nginx、apache2)。
示例配置(保留4周的Nginx日志,每周轮转并压缩):/var/log/nginx/*.log { weekly missingok rotate 4 compress delaycompress notifempty create 0640 www-data adm}
实时监控:tail -f
systemd系统:journalctl
内核日志:dmesg
掌握上述方法后,可高效定位系统问题、监控服务状态或分析用户行为。