du -sh /var/log/
查看日志目录总大小,ls -lh /var/log/*.log
查看单个日志文件大小,常用路径为/var/log/
。查看单个日志文件大小
ls
命令
最直接的方式,显示文件的详细属性(包括大小):
ls -lh /var/log/syslog
-l
:以长格式显示-h
:以人类可读单位(KB/MB/GB)输出
输出示例:-rw-r----- 1 syslog adm 12M Jun 10 09:25 /var/log/syslog
du
命令
统计文件实际占用的磁盘空间(适用于大文件或稀疏文件):
du -sh /var/log/kern.log
-s
:仅显示总大小-h
:人类可读格式
查看日志目录整体大小
统计 /var/log
目录
du -sh /var/log
输出示例:
2G /var/log
查看目录内各文件/子目录大小
按层级排序,快速定位大文件:
du -h --max-depth=1 /var/log | sort -h
--max-depth=1
:只显示第一级子目录sort -h
:按人类可读单位排序
按条件筛选日志文件
查找超过 100MB 的日志
find /var/log -type f -name "*.log" -size +100M -exec ls -lh {} ;
-size +100M
:筛选大于 100MB 的文件-exec ls -lh {} ;
:对结果执行ls
命令
按修改时间查看
find /var/log -mtime +30 -exec du -sh {} ; | sort -h
-mtime +30
:查找 30 天前修改的文件
高级工具:ncdu
(交互式磁盘分析)
- 安装工具:
sudo apt install ncdu # Debian/Ubuntu sudo yum install ncdu # CentOS/RHEL
- 扫描日志目录:
sudo ncdu /var/log
- 按
Enter
进入子目录 - 按
d
删除文件(需谨慎) - 按
q
退出
- 按
关键日志文件路径
日志文件 | 作用 |
---|---|
/var/log/syslog |
通用系统日志 |
/var/log/auth.log |
用户认证日志 |
/var/log/kern.log |
内核相关日志 |
/var/log/nginx/ |
Nginx 服务日志目录 |
/var/log/journal/ |
Systemd 日志(二进制) |
日志管理建议
- 定期清理:
- 使用
logrotate
(默认自动运行)分割和压缩旧日志。 - 手动清理:
sudo truncate -s 0 /var/log/large.log
(清空文件但保留 inode)。
- 使用
- 监控磁盘空间:
df -h /var # 检查 /var 分区使用情况
- 禁用无效日志:
编辑/etc/rsyslog.conf
或应用配置文件,减少冗余日志输出。
引用说明:
- 本文方法基于 Linux 核心工具(GNU coreutils 和 findutils),遵循 Linux 文件系统标准(FHS)。
ncdu
工具文档参考:官方 GitHub。- 操作涉及系统目录时,请使用
sudo
避免权限问题。
通过以上方法,您可快速定位日志大小异常问题,建议结合监控工具(如 Prometheus)实现自动化预警,确保系统稳定运行。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/42181.html