快速排查Linux服务器上的大文件

使用 du 命令查找大文件或目录

检查整个文件系统的大目录:

du -ah / | sort -rh | head -n 20
  • du -ah /:扫描根目录下所有文件和目录的大小,-a 表示包括文件,-h 使输出人类可读。
  • sort -rh:按大小降序排序,-r 表示逆序,-h 解析人类可读格式。
  • head -n 20:显示前 20 个最大的文件或目录。

检查特定目录(例如 /var):

如果怀疑某个目录(如 /var 或 /home)占用空间较多,可以指定目录:

bashdu -ah /var | sort -rh | head -n 20

使用 find 查找特定类型的大文件

快速定位大文件,结合 ls:

find / -type f -size +100M -exec ls -lh {} \;
  • type f:只查找文件。
  • size +100M:查找大于 100MB 的文件(可调整大小,如 +1G 表示大于 1GB)。
  • exec ls -lh {} \;:列出文件详细信息。

排查特定类型的文件(如日志、备份文件等)

find / -type f -name "*.log" -size +100M -exec ls -lh {} \;
  • 这会查找所有 .log 结尾且大于 100MB 的文件。
  • 常见占用空间的文件类型包括:.log、.bak、.tar.gz、.zip 等。

使用 df 检查磁盘使用情况

df -h
  • 输出显示每个挂载点的使用率,找到接近 100% 的分区。
  • 然后针对该分区(如 /dev/sda1 挂载在 /)运行 dufind

检查常见占用空间的目录

某些目录通常是大文件聚集地,建议重点检查:

日志文件:/var/log,检查是否有异常大的日志文件(如 syslog 或 messages)。

du -sh /var/log/*

临时文件:/tmp/var/tmp

du -sh /tmp/*

用户文件:/home

du -sh /home/* | sort -rh

数据库或缓存:如 /var/lib/mysql(MySQL 数据库)或 /var/cache

posted @ 2025-08-24 23:34  牛奔  阅读(139)  评论(0)    收藏  举报