当前位置: 首页 > Linux

记一次大文件删除后续处理

时间:2023-04-06 04:45:34 Linux

上班后发现一个日志文件cmq.log超过70G。记得前两天用它抓包,忘记关了。于是直接进行删除操作,成功删除了rmcmq.log文件,但是磁盘空间没有恢复。/home/目录本来只有63G,现在还有145G。1、使用lsof命令查看已经删除但没有关闭的文件。lsof|grepdeleted发现几个两周前打开的日志文件,都是常驻服务打开的。所以,重启服务。用lsof命令查看,没有了。此时/home释放了9G,还剩136G。之前删除的70G还是没有恢复。2、想到tcmpdump抓包产生的日志,通过ps查看进程:抓包命令为tcpdump-iany-Xnnpls0tcpanddstport8000killtcpdump进程,然后查看占用的磁盘空间是否已经释放.总结:1、使用rm命令直接删除文件,并没有清盘,原因有以下几种:-删除后还有进程在使用(打开后还没有退出)-或者:有是一个一直在往文件中写入数据的进程:-File并没有真正被删除。可以简单理解为文件指针(reference)依然存在。OS判断文件没有被删除,不会回收空间。以上两种情况,可以使用lsof结合ps分别重启/杀掉进程。2、大文件的建议先用echo"">xx.log或truncate减小文件大小,查看实际磁盘占用情况,再删除。3.增加对日志文件大小/磁盘占用清空的监控,及时报警处理