linux系统日志在哪里:主流路径全覆盖
linux系统日志在哪里,主流Linux发行版的系统日志默认存储在/var/log/根目录下,CentOS、RHEL偏向传统文本日志文件,Ubuntu、Debian兼顾文本日志与systemd日志,嵌入式精简Linux系统仅保留核心日志目录,你可根据系统版本快速定位、查看、排查日志文件。
linux系统日志:通用默认目录与核心文件
/var/log/是Linux系统统一的日志根目录,系统运行、服务状态、安全操作、硬件异常的所有记录基本都会归集到此目录,该目录默认具备系统读写权限,普通用户可查看大部分日志文件,仅部分核心日志需要root权限读取。
以下为/var/log/目录下高频使用的核心日志文件,覆盖90%以上运维排查场景。
- /var/log/messages:通用系统日志,记录系统启动、服务启停、硬件调用等常规事件,CentOS系列主力日志文件
- /var/log/syslog:全局系统日志,Ubuntu、Debian系列默认核心日志,记录全系统非内核类运行事件
- /var/log/auth.log:认证安全日志,记录登录、权限变更、sudo操作、ssh连接等安全相关行为
- /var/log/dmesg:内核硬件日志,记录系统开机硬件检测、内核驱动加载、硬件异常报错信息
- /var/log/cron:定时任务日志,记录crontab定时任务的执行、失败、启停记录
- /var/log/nginx/、/var/log/apache2/:主流服务专属日志,分别对应Nginx、Apache网页服务的访问与错误日志
linux系统日志:systemd新式日志存储位置
CentOS7+、Ubuntu16.04+等新版Linux系统采用systemd日志机制,不再单纯依赖文本日志,日志以二进制格式存储,默认存放路径为/var/log/journal/。二进制日志相比文本日志,可精准记录日志时间、进程ID、服务来源,支持精准筛选查询,不会出现日志乱序问题。
你无法直接用记事本、cat命令打开该目录下的日志文件,必须使用journalctl专属命令解析查看,常用基础指令为journalctl(查看全部日志)、journalctl-u服务名(查看指定服务日志)、journalctl-r(倒序查看最新日志)。
linux系统日志:不同发行版日志差异对比
| 系统系列 | 核心文本日志路径 | 新式二进制日志 | 适用系统版本 |
|---|---|---|---|
| CentOS/RHEL | /var/log/messages | 支持journalctl | CentOS7及以上、RHEL7及以上 |
| Ubuntu/Debian | /var/log/syslog | 支持journalctl | Ubuntu16.04及以上、Debian9及以上 |
| 精简嵌入式Linux | /var/log/少量基础文件 | 不支持 | OpenWrt、嵌入式裁剪系统 |
linux系统日志:临时日志存储位置
/run/log/为Linux系统临时日志目录,存储系统开机后实时生成的临时日志,目录内数据为内存缓存存储。
重启系统后该目录所有日志会自动清空,仅适合排查当前开机周期内的瞬时报错、临时服务异常,不具备日志留存作用。
linux系统日志:自定义日志查找方法
你可以通过系统配置文件精准定位所有日志真实存储路径,无需逐一查找目录。打开/etc/rsyslog.conf通用日志配置文件,文件内所有带“/var/log/”的字段,均为系统已配置的日志存储路径,包含系统日志、服务日志、安全日志的全部归集规则。
新版systemd系统可查看/etc/systemd/journald.conf文件,确认二进制日志的存储目录、留存时长、日志大小限制等参数。
适用边界说明
自研定制Linux系统、深度裁剪的服务器系统,可能会修改默认日志目录,上述默认路径无法适配。这类系统需通过greplog/etc/passwd或系统运维配置文档确认自定义日志路径,常规通用服务器、虚拟机、云服务器Linux系统均可完全适配上述路径。
