<p>/var/log 的管理需从结构、轮转、清理和监控四方面入手。首先,其核心目录包括 messages/syslog(系统日志)、auth.log/secure(认证日志)、dmesg(硬件检测)、kern.log(内核日志)、cron(定时任务)、boot.log(启动日志)、httpd/nginx(web 服务日志)及 apt/yum.log(软件包记录),便于问题定位;其次,使用 logrotate 配置日志轮换,如 daily(每日轮换)、rotate(保留天数)、compress(压缩)、notifempty(空文件不轮换)、create(权限设置)、postrotate(重载服务)等参数控制日志大小与保留周期;再次,定期检查磁盘占用,通过 du -sh /var/log/* 查看,结合手动删除、调整 rotate 参数、限制日志类型或使用 tmpwatch 删除旧文件等方式清理日志;最后,日常运维应使用 tail -f 实时查看、journalctl 查 systemd 日志、配置 cron 监控目录大小,并可接入 rsyslog + elk 进行集中分析。</p>

/var/log 是 Linux 系统中存放日志文件的核心目录,正确管理这个目录对系统维护和故障排查非常关键。它不仅影响磁盘空间使用,还关系到日志的可读性和安全性。以下从结构、轮转机制、清理策略几个方面讲讲怎么合理管理 /var/log。

Linux 的日志目录结构相对固定,不同发行版略有差异,但大部分核心文件位置一致:

这些日志有助于快速定位问题来源,比如看到登录失败频繁可以检查 auth.log,系统崩溃前的状态可以从 messages 或 syslog 中找线索。
Linux 使用 logrotate 工具自动轮换日志文件,避免单个日志过大,同时支持压缩、保留周期等功能。

logrotate 的主配置文件通常是
/etc/logrotate.conf
/etc/logrotate.d/
一个典型的日志轮转配置如下(以 nginx 为例):
/var/log/nginx/*.log {
daily
missingok
rotate 14
compress
delaycompress
notifempty
create 0640 www-data adm
sharedscripts
postrotate
[ -f /run/nginx.pid ] && kill -USR1 `cat /run/nginx.pid`
endscript
}解释一下几个常用参数:
你可以通过手动运行
logrotate -vf /etc/logrotate.d/nginx
即使有 logrotate,也有可能因为日志量大或者配置不当导致磁盘被占满。建议定期检查 /var/log 占用情况:
du -sh /var/log/*
清理旧日志的方法有几个:
tmpwatch 72 /var/log/myapp/
这条命令会删除 /var/log/myapp/ 下 72 小时未修改的文件。
注意:不要随便删系统级日志,特别是涉及安全审计的文件,如 auth.log 或 secure。
除了管理结构和轮转,日常运维中还要会看日志:
tail -f /var/log/syslog
journalctl -u nginx.service
如果系统日志很多,也可以考虑接入集中式日志管理工具,比如 rsyslog + ELK,把日志统一收集分析。
基本上就这些。合理组织 /var/log 结构、配置好 logrotate,并定期清理和监控,能有效避免日志引发的问题。
以上就是如何管理Linux系统日志 /var/log目录结构与日志轮转的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号