Linux中磁盘空间爆满的3步快速定位+清理方案

 更新时间:2026年04月17日 08:33:48   作者:用户545842986958  
生产环境磁盘空间爆满是运维工作中的常见紧急故障,本文分享l快速定位大文件并安全清理空间的实战方案,有需要的小伙伴可以跟随小编器学习一下

前言

生产环境磁盘空间爆满是运维工作中的常见紧急故障。本文分享快速定位大文件、安全清理空间的实战方案。

问题影响

磁盘空间100%会导致:

  • 应用无法写入日志,服务异常
  • 数据库无法写入,事务失败
  • 系统无法创建临时文件,进程崩溃

应急处理流程

1. 快速定位大文件

查看根目录各分区占用

df -h

定位占用最大的目录

du -h --max-depth=1 / | sort -hr | head -10

查找大于1GB的文件

find / -type f -size +1G -exec ls -lh {} \;

2. 日志文件清理

方案A:清空日志内容(保留文件)

# 清空单个日志
> /var/log/syslog

# 批量清空
for log in /var/log/*.log; do > $log; done

方案B:删除旧日志

# 删除7天前的日志
find /var/log -name "*.log" -mtime +7 -delete

# 删除压缩日志
find /var/log -name "*.gz" -mtime +7 -delete

方案C:配置日志轮转

# /etc/logrotate.d/custom
/var/log/myapp/*.log {
    daily
    rotate 7
    compress
    missingok
    notifempty
}

3. Docker垃圾清理

查看Docker占用

docker system df

清理未使用的资源

# 清理所有未使用的镜像、容器、网络、卷
docker system prune -a --volumes

# 仅清理悬空镜像
docker image prune

# 清理停止的容器
docker container prune

4. 其他清理方案

清理包管理器缓存

# Ubuntu/Debian
apt-get clean
apt-get autoclean

# CentOS/RHEL
yum clean all

清理临时文件

rm -rf /tmp/*
rm -rf /var/tmp/*

实战案例

某次生产环境磁盘爆满,通过以下步骤快速恢复:

# 1. 定位问题
df -h  # 发现 /var 分区 100%
du -h --max-depth=1 /var | sort -hr

# 2. 发现 /var/log 占用 80GB
cd /var/log
ls -lh | sort -k5 -hr | head -10

# 3. 发现 nginx/access.log 50GB
> nginx/access.log  # 清空日志

# 4. 配置日志轮转,防止再次爆满

预防措施

1. 监控告警

# 磁盘使用率超过80%告警
df -h | awk '$5+0 > 80 {print $0}'

2. 定时清理

# crontab 每天凌晨2点清理7天前日志
0 2 * * * find /var/log -name "*.log" -mtime +7 -delete

3. 日志轮转 确保所有应用日志都配置了logrotate。

总结

  • 紧急情况:先清日志,能快速腾出空间
  • Docker环境:定期执行 docker system prune
  • 长期方案:配置日志轮转+监控告警

掌握这套流程,磁盘爆满问题5分钟搞定。

以上就是Linux中磁盘空间爆满的3步快速定位+清理方案的详细内容,更多关于Linux磁盘空间爆满定位与清理的资料请关注脚本之家其它相关文章!

相关文章

  • 浅谈Linux配置定时,使用crontab -e与直接编辑/etc/crontab的区别

    浅谈Linux配置定时,使用crontab -e与直接编辑/etc/crontab的区别

    下面小编就为大家带来一篇浅谈Linux配置定时,使用crontab -e与直接编辑/etc/crontab的区别。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • CentOS系统Maven安装教程分享

    CentOS系统Maven安装教程分享

    本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的构建、报告和文档
    2025-02-02
  • Linux上启动和停止jar的方法示例

    Linux上启动和停止jar的方法示例

    在Linux系统中,要想让jar包在后台运行,可以使用nohup命令和&符号,nohup命令可以使进程在后台不受挂起信号影响的执行,而&符号则是将任务放入后台执行,本文介绍了Linux上启动和停止jar的方法示例,需要的朋友可以参考下
    2024-07-07
  • Linux系统云服务器被入侵排查和解决方法

    Linux系统云服务器被入侵排查和解决方法

    当 Linux 系统的云服务器被入侵时,及时排查和解决问题是防止更大损失的关键,所以本文给大家详细介绍了Linux系统云服务器被入侵排查和解决方法,需要的朋友可以参考下
    2025-11-11
  • 如何解决linux中ls卡死的问题

    如何解决linux中ls卡死的问题

    这篇文章主要介绍了如何解决linux中ls卡死的问题,具有很好的参考价值,希望对大家有所帮助。
    2023-06-06
  • 详解CentOS中的route命令

    详解CentOS中的route命令

    这篇文章给大家主要介绍了关于CentOS中的route命令,文中介绍的很详细,相信对大家的理解和学习具有一定的参考价值,有需要的朋友们下面来跟着小编一起学习学习吧。
    2016-12-12
  • PHP程序员玩转Linux系列 搭建FTP代码开发环境

    PHP程序员玩转Linux系列 搭建FTP代码开发环境

    这篇文章主要为大家详细介绍了PHP程序员玩转Linux系列文章,FTP代码开发环境搭建教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • Linux创建服务使用systemctl管理详解

    Linux创建服务使用systemctl管理详解

    文章指导在Linux中创建systemd服务,设置文件权限为所有者读写、其他只读,重新加载配置,启动服务并检查状态,确保服务正常运行,关键步骤包括权限配置与状态验证
    2025-09-09
  • Linux之PWM脉宽调制详解

    Linux之PWM脉宽调制详解

    Linux PWM技术通过调节占空比控制功率输出,利用sysfs和/dev接口实现,内核自2.6.30版本支持,广泛应用于LED调光、电机控制、电源管理等领域,需注意频率限制、精度与功率消耗等关键参数配置
    2025-09-09
  • yum安装本地rpm软件方案详解

    yum安装本地rpm软件方案详解

    这篇文章主要介绍了yum安装本地rpm软件方案详解,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01

最新评论