【收藏级】Linux磁盘爆满?5分钟定位元凶,一键释放空间!🔥

360影视 日韩动漫 2025-09-06 07:55 1

摘要:#!/bin/bashecho "=== 当前磁盘使用率 ==="df -hecho "=== Top20 大文件 ==="find / -xdev -type f -size +100M -exec du -h {} \; 2>/dev/null | sor

服务突然 502?九成是磁盘被日志打爆!本文教你 5 条命令,3 分钟定位、2 分钟清理,再不怕“深夜报警”。

# 1. 一眼看穿分区+挂载点lsblk# 2. 所有挂载点使用率,人类可读df -h

看到 Use% 飙红?记下对应挂载点,继续下一步。

# 查看单个文件申请大小(可能虚高)ls -lh /path/to/file# 查看目录真实占用du -sh /var/log# 直接搜大于 500M 的文件find / -xdev -type f -size +500M -exec ls -lh {} \; 2>/dev/null | sort -k5 -hr | head

小贴士:-xdev 防止跨分区搜索,速度快一倍!

lsof +L1 | grep -vE '(/SYSV|/dev|/proc)' | grep deleted

输出示例:

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NLINK NODE NAMEnginx 1234 root 7u REG 8,17 8589934608 0 /var/log/nginx/access.log (deleted)

看到 (deleted) 字样,说明文件已删,但句柄仍开着!

# 优雅重启对应服务systemctl restart nginx# 或者暴力杀(慎用)kill -9 1234

重启后,磁盘空间瞬间回落,服务恢复。

习惯一行命令

把下面脚本保存成 clean_disk.sh,chmod +x 后直接跑:

#!/bin/bashecho "=== 当前磁盘使用率 ==="df -hecho "=== Top20 大文件 ==="find / -xdev -type f -size +100M -exec du -h {} \; 2>/dev/null | sort -hr | head -20echo "=== 已删除但仍占用的文件 ==="lsof +L1 | awk '{print $2, $9}' | sort -k2 -hrecho "=== 清理7天前日志 ==="find /var/log -type f -mtime +7 -name "*.log" -delete

建议:先在测试机跑一遍,确认无误再上生产!

来源:linux运维菜

相关推荐