`

解决linux下删除文件磁盘空间不释放问题

    博客分类:
  • OS
 
阅读更多

最近通过crontab 定时任务,制定FTP备份服务器附件到备份机。

由于某些原因,备份文件不正确,果然采用rm删除已经备份的部分文件(当时定时任务仍然在执行 )。

于是问题就来了, rm后的文件并没有释放磁盘空间。

寻求解决办法:

1、查询锁定的文件

这里就需要提到lsof命令了。

lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。

在终端下输入lsof即可显示系统打开的文件,因为 lsof 需要访问核心内存和各种文件,所以必须以 root 用户的身份运行它才能够充分地发挥其功能。

 

lsod |grep deleted

 

2、中止文件open

kill -9 2606 3367 .......

 

另外补充学习下当文件被意外删除后,如何找回。

 

假如由于误操作将/var/log/messages文件删除掉了,那么这时要将/var/log/messages文件恢复的方法如下:

首先使用lsof来查看当前是否有进程打开/var/logmessages文件,如下:

 

 

从上面的信息可以看到 PID 1283(syslogd)打开文件的文件描述符为 2。同时还可以看到/var/log/messages已经标记被删除了。因此我们可以在 /proc/1283/fd/2 (fd下的每个以数字命名的文件表示进程对应的文件描述符)中查看相应的信息,如下:

# head -n 10 /proc/1283/fd/2

 

如果可以通过文件描述符查看相应的数据,那么就可以使用 I/O 重定向将其复制到文件中,如:

cat /proc/1283/fd/2 > /var/log/messages

分享到:
评论

相关推荐

    Linux如何处理文件已删除但空间不释放的问题

    主要介绍了Linux如何处理文件已删除但空间不释放的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    Linux服务器文件删除空间未释放的问题

     在Linux系统中,通过rm删除文件将会从文件系统的目录结构上解除链接(unlink),如果文件是被打开的(有一个进程正在使用),那么进程将仍然可以读取该文件磁盘空间也一直被占用  这样会导致我们明明删除了文件,...

    Linux磁盘空间被未知资源耗尽的解决方法

    在linux中,当我们使用rm在linux上删除了大文件,但是如果有进程打开了这个大文件,却没有关闭这个文件的句柄,那么linux内核还是不会释放这个文件的磁盘空间,最后造成磁盘空间占用100%,整个系统无法正常运行。...

    操作系统课设基于Linux的磁盘存储空间管理

    (2)具有创建文件、空间分配、删除文件、释放空间等基本功能; (3)把个文件目录、磁盘空间管理的数据结构变化情况显示出来。 三个功能应该都有,我负责的是空白文件目录结构管理磁盘空间,采用的是队列的方式

    Linux文件删除后空间未释放问题详解

    当系统空间使用量过大需要清理空间或者清理某个文件时,有时会出现执行了删除命令之后磁盘空间并没有释放,很多人首次遇到该情况时会比较困惑,在考虑是不是像windows系统的回收站一样,删除只是逻辑删除到回收站...

    linux中,用shell脚本检查磁盘使用率并清理文件

    这样会释放磁盘空间,但会遗留一个空白文件。(2)另一种情况是该文件以长时间没有写操作,没有其他进程以写的方式在打开它,可以直接删除,以rm的方式清理。 4、上述两种情况分别以两个shell函数实现,有入参,可...

    聊聊 Linux 那些离奇的磁盘满问题

    文章目录一、被忽略的隐藏文件1、认识 swapfile2、处理建议二、未释放的已删除文件1、du 和 df 不一致2、处理建议三、挂载引发的悬案1、消失的空间2、处理建议2.1 解决方法2.2 测试验证2.3 给个建议 对于 Linux ...

    BleachBit:删除垃圾文件以释放磁盘空间并提高隐私性-开源

    BleachBit释放磁盘空间并维护隐私。 清除缓存,Internet历史记录,临时文件,日志,cookie,Firefox,Google Chrome,Flash,Windows,Linux等。 下载地址为www.bleachbit.org,源代码为GitHub。

    Linux中出现“No space left on device”错误的排查与解决方法

    正常情况下,删除一些文件来释放空间,即可解决该问题。 当我使用 df 命令查看分区情况时,结果如下: # df -h Filesystem Size Used Avail Use% Mounted on /dev/vda1 29G 29G 0 100% / udev 10M 0 10M 0% /dev ...

    磁盘空间已满的解决方法

    针对block满了的问题,通常的解决方法是删除较大文件以释放磁盘空间,但是删除数据要慎重; 针对inode用光的情况,是小文件占用较多的inode,通常会有定时任务创建占用一个inode的文件或目录,删除时要注意这些定时...

    BleachBit:删除垃圾文件以释放磁盘空间并提高隐私-开源

    BleachBit 释放磁盘空间并维护隐私。 清理缓存、互联网历史记录、临时文件、日志、cookie、Firefox、谷歌浏览器、Flash、Windows、Linux 等。 下载位于 www.bleachbit.org,源代码位于 GitHub。

    解决Ubuntu 16.04下提示boot分区空间不足的办法

    因为linux内核一直在更新,更新后,旧的内核就不在使用,但旧的内核文件还在boot里面,占据着空间,更新几次过后boot分区就会被占满,显示boot磁盘空间不足。 解决办法 将不用的内核文件删除,释放空间。 步骤如下 ...

    Linux下如何寻找相同文件的方法

    随着电脑的使用,系统里将产生很多垃圾,最典型的就是同一份文件被保存到了不同的位置,这样导致的结果就是磁盘空间被大量占用,系统运行越来越慢。 所以如果你的电脑空间告急的话,可以试着去删除这样的文件,释放...

    如何在Linux上找出并删除重复的文件:FSlint

    重复文件是磁盘空间不必要的浪费。毕竟,如果你的确需要在不同的位置享有同一个文件,你可以使用软链接或者硬链接,这样可以在磁盘的一个地方存储数据了。  FSlint  FSlint 在不同的Linux发行版二进制仓库中都有...

    入门学习Linux常用必会60个命令实例详解doc/txt

    Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。所以,在Linux系统上工作离不开使用系统提供的命令。要想真正理解Linux系统,就必须从Linux...

    Linux管理员指南

    令which 83 6.4.15 查找命令的保存位置命令whereis 83 6.4.16 释放磁盘空间命令df 84 6.4.17 同步磁盘命令sync 84 6.5 进程管理 84 6.5.1 列出进程清单命令ps 84 6.5.2 交互列出进程清单命令top ...

    适用于Windows和Linux的BleachBit系统清洁程序-Python开发

    适用于Windows和Linux的BleachBit系统清理程序BleachBit BleachBit清理文件以释放磁盘空间并维护隐私。 从源代码运行要在不进行安装的情况下运行BleachBit,请解压缩tarball,然后运行以下命令:make -C po local#...

    疯狂内核之——Linux虚拟内存

    第四章 磁盘文件内存映射 182 4.1 内存映射的数据结构 182 4.2 内存映射的创建 184 4.3 内存映射的请求调页 194 4.4 刷新内存映射的脏页 203 4.5 非线性内存映射 210 第五章 页面的回收 215 5.1 页框回收概念 215 ...

Global site tag (gtag.js) - Google Analytics