当前位置: 首页 > Linux

记录下Linux机器清理空间的过程

时间:2023-04-06 11:24:20 Linux

项目中,我们需要更改Nginx的配置,所以我们通过跳板登录Nginx机器。结果看到这一幕:刺激,服务器空间没了,还是先解决这个问题吧,不然写不出来,服务器也不能正常运行。分析:本机只负责运行Nginx,空间占满主要是因为产生的日志太多。按照分析思路,我先看看磁盘空间的使用情况:命令:df-h确实有一个block使用率高达100%,但是我不知道这个block,我也不知道知道哪个块这么满。于是去根目录下看哪个目录这么大:命令:du-sh/*发现,原来是home,根据大小查看当前目录下的所有文件,最后定位到Nginx目录:命令:du-s*|sort-nr确认error.log可以删除后,删除文件:命令:rmerror.log(不要随便用rm-rf)原来清理后系统还是提示空间不足.显然该文件已被清除。到底是怎么回事?羊毛布?我再次查看以确认是否删除了正确的文件:命令:du-sh*|sort-nr可以看到刚才占用59G空间的错误日志已经删除了,但是空间还是不够。这时候我想,是不是因为nginx在运行,error.log文件被占用,删除操作省了,只有nginx进程结束才能删除。于是查看删除队列中的信息:Command:lsof|grepdeleted果不其然,这些文件其实还存在,所以下一步就是暂时关闭nginx发布进程,让系统执行这些删除任务,但是考虑到可能有人正在使用nginx。为了尽量减少影响,我使用响应速度较快的restart操作来重启nginx(restart命令只有一个,等于stop+start,执行起来肯定比手动输入stop再start快,with影响较小):命令:nginx-sreopen重启的时候,明显感觉卡住了。好像是执行了删除任务,59G的文件已经清理干净了。检查:命令:或lsof|grepdeleted,可以看到文件已经被删除清理干净了。用du命令查看,可以看到home目录成功减59G,系统不再提示空间已满~:总结:注意清理文件,慎用rm-rf。如果清洁后仍然是空的,请检查它是否被占用。