linux如何自动清理磁盘空间(一招教你快速清理)(1)

创作背景:当天部署服务时,发现无法部署,后来经过日志排查后发现服务器磁盘满了,查询资料后进行了清理。话不多说,直接上解决方法。

操作一:

1.查看磁盘大小: df -h

linux如何自动清理磁盘空间(一招教你快速清理)(2)

2.直接在最上层进行排序:du -a|sort -rn|head -5

linux如何自动清理磁盘空间(一招教你快速清理)(3)

3.然后找到最大的文件删除,ps:你要确定是否可以删除,比如一些.log/.tar等文件都可以直接删除,但是有的文件你就需要看一下是否在使用中:lsof fileName

linux如何自动清理磁盘空间(一招教你快速清理)(4)

看,第二次查询时返回了相应的pid,这个文件删除就要谨慎了。

4.清除文件以后还要继续df-h,有的人会发现我删除了,但是磁盘却没有任何减少,这就是就有人开始说博主是个骗子,其实还差最后一步。查看已删除空间却没有释放的进程:lsof -n | grep deleted,然后删除(kill -9 pid)。

linux如何自动清理磁盘空间(一招教你快速清理)(5)

至此,磁盘清理完毕。

操作二:

上面说的是正常的处理流程,如果你的服务器安装了DOCKER,建议你直接先执行下面的命令,删除无用镜像(需要收到输入y):docker image prune -a 以及 docker system prune -a

linux如何自动清理磁盘空间(一招教你快速清理)(6)

linux如何自动清理磁盘空间(一招教你快速清理)(7)

命令执行后如果删除的0MB,则代表和docker无关。

但是这样清理会把一些没有在用的容器停掉,从而导致下次启动时没有容器,如果你在启动容器时碰到了:Error response from daemon: driver failed programming external connectivity 这个错误或者一直报没有容器,就需要重启docker服务即可重新生成自定义链DOCKER。输入指令 :systemctl restart docker

说实话,这个还真是第一次使用linux指令清理,以前都是客户端点点点,查资料着实费了一些时间,不是很完善。如果有大佬有其他更好的方法,请在评论区指点,不胜感激。

创作不易,如果这篇文章对你有用,请点个赞谢谢♪(・ω・)ノ!

,