0

0

Linux /var/log 目录结构解析

冷漠man

冷漠man

发布时间:2026-02-20 08:08:02

|

742人浏览过

|

来源于php中文网

原创

根本原因在于是否被logrotate管理:系统服务默认配置logrotate规则,而手动直写日志不会触发轮转;journald与syslog是两套独立体系,日志位置和查看方式不同。

linux /var/log 目录结构解析

为什么 /var/log 里有的日志会自动轮转,有的却越攒越多?

Linux 日志行为不一致,根本原因在于是否被 logrotate 管理。系统服务(如 syslognginx)默认常配 logrotate 规则,而你自己用 echo "xxx" >> /var/log/myapp.log 这种直写方式,不会触发任何轮转。

  • logrotate 配置文件通常在 /etc/logrotate.d/ 下,每个服务一个配置片段
  • 轮转是否生效,取决于该配置是否启用 dailysizerotate 等关键指令
  • 手动测试:运行 logrotate -d /etc/logrotate.d/nginx-d 表示 dry-run,只打印动作不执行)
  • 常见坑:配置文件权限错误(非 root:root 或含写权限),logrotate 会直接跳过

journald/var/log/syslog 是两套日志体系,别混着查

systemd 系统默认启用 journald,它把内核、服务、用户会话日志全收进二进制文件(/run/log/journal//var/log/journal/),而传统 rsyslogsyslog-ng 写的才是文本型 /var/log/syslog/var/log/messages

  • journald 日志用 journalctl,不是 tail -f /var/log/syslog
  • 若关闭了 journald 持久化(Storage=volatile),重启后 /var/log/journal/ 为空,但 /var/log/syslog 仍存在(如果 rsyslog 在运行)
  • 二者可能重复记录同一事件,比如 SSH 登录既出现在 journalctl _COMM=sshd,也出现在 /var/log/auth.log
  • 性能影响:journald 默认内存缓存 + 异步刷盘,比纯文件追加更轻量;但文本日志便于 grepawk 直接处理

/var/log/boot.log/var/log/kern.log 不是所有发行版都默认生成

这些文件是否存在,取决于底层日志服务是否显式配置了对应 facility 或输出路径。

Regie.ai
Regie.ai

一个使用AI生成产品描述的网络平台

下载
  • /var/log/boot.log:多数 Ubuntu/Debian 有,CentOS/RHEL 8+ 默认不生成(systemd 启动过程日志已归入 journalctl -b
  • /var/log/kern.log:由 rsyslogkernel.<em></em> 规则决定,若配置里没写 .kern;*.info;mail.none;authpriv.none;cron.none /var/log/kern.log,就不会产生
  • 容易误判:看到 ls /var/log | grep kern 没结果,就以为内核没打日志——其实 dmesgjournalctl -k 才是权威来源
  • 兼容性提示:容器环境或 minimal 系统(如 Alpine)通常压根不装 rsyslog/var/log 下只有应用自己写的日志

自定义应用日志该往哪放?别硬塞进 /var/log 根目录

直接 touch /var/log/myapp.log 并写入,看似省事,但会破坏权限模型和轮转逻辑。

  • 正确做法:新建子目录 /var/log/myapp/,属主设为运行该应用的非 root 用户(如 chown myapp:myapp /var/log/myapp
  • 必须配 logrotate:在 /etc/logrotate.d/myapp 中指定路径、轮转条件、create 644 myapp myapp
  • 避免踩坑:不要让应用以 root 权限直接写 /var/log/myapp.log,否则轮转后新文件可能权限错误,导致下次写入失败(Permission denied
  • 替代方案:应用直接对接 systemd-journald(如用 sd_journal_print()logger -t myapp),完全绕过文件管理

日志路径本身不复杂,难的是谁在管它、怎么管、管到哪一级——漏掉任意一层,都会让排查时卡在“这日志到底去哪了”。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
nginx 重启
nginx 重启

nginx重启对于网站的运维来说是非常重要的,根据不同的需求,可以选择简单重启、平滑重启或定时重启等方式。本专题为大家提供nginx重启的相关的文章、下载、课程内容,供大家免费下载体验。

240

2023.07.27

nginx 配置详解
nginx 配置详解

Nginx的配置是指设置和调整Nginx服务器的行为和功能的过程。通过配置文件,可以定义虚拟主机、HTTP请求处理、反向代理、缓存和负载均衡等功能。Nginx的配置语法简洁而强大,允许管理员根据自己的需要进行灵活的调整。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

516

2023.08.04

nginx配置详解
nginx配置详解

NGINX与其他服务类似,因为它具有以特定格式编写的基于文本的配置文件。本专题为大家提供nginx配置相关的文章,大家可以免费学习。

566

2023.08.04

tomcat和nginx有哪些区别
tomcat和nginx有哪些区别

tomcat和nginx的区别:1、应用领域;2、性能;3、功能;4、配置;5、安全性;6、扩展性;7、部署复杂性;8、社区支持;9、成本;10、日志管理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

242

2024.02.23

nginx报404怎么解决
nginx报404怎么解决

当访问 nginx 网页服务器时遇到 404 错误,表明服务器无法找到请求资源,可以通过以下步骤解决:1. 检查文件是否存在且路径正确;2. 检查文件权限并更改为 644 或 755;3. 检查 nginx 配置,确保根目录设置正确、没有冲突配置等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

520

2024.07.09

Nginx报404错误解决方法
Nginx报404错误解决方法

解决方法:只需要加上这段配置:try_files $uri $uri/ /index.html;即可。想了解更多Nginx的相关内容,可以阅读本专题下面的文章。

3606

2024.08.07

nginx部署php项目教程汇总
nginx部署php项目教程汇总

本专题整合了nginx部署php项目教程汇总,阅读专题下面的文章了解更多详细内容。

49

2026.01.13

nginx配置文件详细教程
nginx配置文件详细教程

本专题整合了nginx配置文件相关教程详细汇总,阅读专题下面的文章了解更多详细内容。

67

2026.01.13

pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

660

2026.02.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 9.4万人学习

Git 教程
Git 教程

共21课时 | 3.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号