手把手教你排查解决,别让网站栽在硬盘上
网站带文件上传功能的朋友,一定遇到过这种糟心事: 用户传的图片、文件太多了,**服务器磁盘直接被撑满**。然后—— - 用户再上传东西,直接报错 - 严重的时候,**网站正常访问都受影响** 刚好赶上客户要用,网站打不开,这就很难受了。 别慌,磁盘满这个问题,99%都能靠几条命令自己搞定。今天手把手教你排查。 --- ## 第一步:确认是不是磁盘满了 碰到网站打不开、上传失败,**第一反应先看磁盘空间是不是用光了**。 查看磁盘整体空间: ``` df -h ``` 这条命令展示磁盘使用情况: - 已用多少 - 还剩多少可用空间 **判断标准:** 可用空间只剩几百兆,那基本就是磁盘快爆了,上传失败这类故障就是它引起的。 --- ## 第二步:定位是哪个文件夹"霸占"了大量空间 知道磁盘空间不足,接下来找元凶——是哪个文件夹占了大量空间。 用这条命令查看目录下各个文件夹的大小: ``` du -h --max-depth=1 ``` ### ⚠️ 重点:一定要加 `--max-depth=1`! 不加这个限制,它会**把目录下所有层级的文件夹全部遍历输出**,内容巨多、看着非常乱。 设置深度为 1,就只汇总**当前这一层**文件夹的大小,一眼就能看出哪个文件夹体积最大。 **想更快定位?** 搭配 sort 和 head,直接筛选占用最高的前 10 个目录: ``` du -h --max-depth=1 | sort -rh | head -10 ``` --- ## 第三步:进去找到里面的大文件 找到占用高的文件夹之后,cd 进入这个目录: ``` cd /占空间的目录 ``` 执行这条命令,把文件按大小从大到小排序: ``` ls -lhS ``` 再搭配 head,只展示占空间最大的前 10 个文件: ``` ls -lhS | head -n 10 ``` --- ## 第四步:删掉无用的大文件 找到这些超大文件,**确认没有用之后直接清理删除**,磁盘空间就释放了,问题解决。 > ⚠️ 删除前先确认文件不是网站运行必需的(比如日志、备份、临时文件),别误删了重要数据。 --- ## 整套排查流程总结 |步骤|命令|作用| | --- | --- | --- | |1|df -h|确认磁盘整体空间,判断是否占满| |2|du -h --max-depth=1|定位占用高的文件夹| |3|ls -lhS \| head -n 10|进入目录找出大文件| |4|删除无用大文件|释放空间,问题解决| --- ## 写在最后 服务器磁盘满,看着吓人,其实是一个**高频又很好解决**的问题。 关键是记住这套流程:**df看整体 → du找文件夹 → ls找文件 → 删掉释放**。 日常维护里,建议也定期用这几条命令检查一下磁盘,别等网站崩了才想起来。 遇到服务器相关的疑难杂症,也可以交给专业的人处理。