Linux磁盘空间过大问题处理方法

前几天我打开电脑时,系统要求仅剩 1 0% 的磁盘空间。
我吓得连忙打开站。
输入 df -h 一看果然是根目录炸了。
我认为这是不可能的,服务器不应该被用作摆设。

先尝试简单的方法,输入 du -h --max-depth=1 |排序-小时。
我敲击屏幕,发现备份目录有5 G。
是的,这一定是因为您上个月上传的测试数据没有被删除。
再深入一点,du -sh /var/log,哦,日志文件快2 G了。
这让我想起上周系统更新后,日志似乎并没有停止。

开始清洁。
首先尝试清除 /var/log/syslog 并使用 echo "" > /var/log/syslog。
命令行表明文件已被删除。
不过为了保险起见,我用了tail /var/log/syslog来确认,没有乱码就可以了。
然后我想到了备份目录。
这个测试数据已经很旧了,所以我只是 rm -rf /path/to/backup。
虽然心里有些慌张,但确认文件进了垃圾箱后,我心里松了口气。

清洁后我感觉好多了。
我再次运行 df -h ,空间从 9 4 GB 增加到 9 8 GB。
虽然不多,但我也能喘口气了。
突然想到/tmp目录可能还在,于是删除了rm -rf /tmp/。
然而我发现翻译工具还在使用/tmp缓存,所以我赶紧取消了它。
这让我明白,在打扫卫生之前,我们真的需要像查户口一样彻底检查。

现在系统没有问题,不过我想如果有一个工具可以自动识别这个垃圾就好了。
我想起了一位同事推荐的斯塔瑟。
下载并安装后,一键清理过程清除了数百MB的缓存。
旁边有一个进度条,几秒钟就完成了,比手动命令简单多了。

等等,还有一件事,我注意到清理后备份目录中多了一个 .gz 文件。
这是 gzip 压缩的结果吗?如果备份目录已满压缩包,可以释放更多空间。
不过现在系统已经有足够的空间了,我就先搁置了,下次再详细解释。

linux中磁盘满了?一招教你快速清理

如果Linux磁盘已满,请先使用dfh检查哪个磁盘已满。
dua|sortrn|head5 找到最大的5 个文件,确认可以删除后再删除。
使用 lsofileName 检查文件是否正在使用。
不要删除该文件。
lsofn|grepdeleted 找到未分配的空间,kill9 pid 强制释放它。
Docker 使用 dockerimageprnea 和 dockersystemprunea 来清理镜像。
如果重新启动 Docker 时遇到问题,请运行 systemctlrestartdocker。
你自己掂量一下吧。