欢迎来到仍学网!

咨询热线 400-001-5729

位置:仍学网 > 新闻资讯 > 电脑/IT > 程序开发 >  linux删除的文件怎么快速恢复

linux删除的文件怎么快速恢复

来源:仍学网-星星 发布人:星星

2021-11-15 10:49:17|已浏览:228次

Linux如何快速找回删除的文件

      日常运维过程中,我们经常需要处理磁盘空间问题,当接到告警后,第一时间会去找那些大文件,一般比如 Centos,可能大文件就是 /var/log/messages。但有的时候,会出现怎么也查不到大文件的情况,通过 du 查找的时候,统计出来的大小,跟 df 显示的占用空间对应不上。

      如果通过 df -i 查看inode没有满的话,那么极有可能,是有大文件被直接rm了,但是仍然有进程打开了这个文件。这种情况,由于进程没有退出,因此文件占用的空间并不会释放;直到进程退出,磁盘空间才会真正释放。
一、如何找到是哪个进程打开了该文件
      Linux上,由于进程仍然存活,因此可以通过查看所有进程打开的 fd,如果该文件已经被删除,则查看时,会显示(deleted)。
      示例如下:
      $ sudo find /proc/*/fd -ls | grep '(deleted)' 
      388609 0 lrwx------ 1 zerotier-one zerotier-one 64 Aug 21 00:19 /proc/29400/fd/4 -> /tmp/ibpX85Vd\ (deleted) 
二、如何避免这种情况
      不要直接删除该文件,而是通过将文件 truncate 的方式,释放磁盘空间。
      一种方式是:cat /dev/null > ${filename},或者是: > ${filename}。如此,可以快速释放空间。
三、参考文档

      Find and remove large files that are open but have been deleted.

      本文由仍学网达内教育整理发布,希望能够对爱课程的求学者有所帮助。更多信息欢迎关注仍学网云计算培训或添加老师微信:15033336050

  • 仍学网
免 费 申 请 试 听
提交申请,《仍学网》课程顾问老师会一对一帮助你规划更适合你的专业课程!