首页 >系统教程 >LINUX >(星标)如何避免大文件被直接rm了?

(星标)如何避免大文件被直接rm了?

王林
王林转载
2024-02-03 09:40:031142浏览

公众号关注「奇妙的Linux世界」

设为「星标」linux删除文件夹中标linux,每晚带你玩转Linux!

删除文件夹linux_linux删除文件夹_删除文件夹内容linux

日常运维过程中,我们常常须要处理c盘空间问题linux删除文件夹,当接到告警后,第一时间会去找这些大文件,通常例如Centos,可能大文件就是/var/log/messages。

但有的时侯,会出现怎样也查不到大文件的情况,通过du查找的时侯,统计下来的大小,跟df显示的占用空间对应不上。

假如通过df-i查看inode没有满的话,这么极有可能,是有大文件被直接rm了,并且一直有进程打开了这个文件。

删除文件夹linux_linux删除文件夹_删除文件夹内容linux

这些情况,因为进程没有退出,因而文件占用的空间并不会释放;直至进程退出,c盘空间才能真正释放。

怎样找到是那个进程打开了该文件

Linux上,因为进程依旧存活,因而可以通过查看所有进程打开的fd,假如该文件早已被删掉,则查看时,会显示(deleted)。

示例如下:

linux删除文件夹_删除文件夹linux_删除文件夹内容linux

<span></span><code style="padding: 16px;color: #ddd;font-family: Operator Mono, Consolas, Monaco, Menlo, monospace;font-size: 12px;padding-top: 15px;background: #272822;border-radius: 5px">$ sudo find /proc/*/fd -ls | grep  <span style="color: #a6e22e;line-height: 26px">'(deleted)'</span><br>   388609      0 lrwx------   1 zerotier-one zerotier-one       64 Aug 21 00:19 /proc/29400/fd/4 -> /tmp/ibpX85Vd (deleted)<br>   388610      0 lrwx------   1 zerotier-one zerotier-one       64 Aug 21 00:19 /proc/29400/fd/5 -> /tmp/ibCwAgAj (deleted)<br>   388611      0 lrwx------   1 zerotier-one zerotier-one       64 Aug 21 00:19 /proc/29400/fd/6 -> /tmp/ibRZ5rep (deleted)<br>   388612      0 lrwx------   1 zerotier-one zerotier-one       64 Aug 21 00:19 /proc/29400/fd/7 -> /tmp/ibBuNEzA (deleted)<br>   388616      0 lrwx------   1 zerotier-one zerotier-one       64 Aug 21 00:19 /proc/29400/fd/11 -> /tmp/ibG68kpG (deleted)<br></code>

怎么避开这些情况

不要直接删掉该文件linux删除文件夹,而是通过将文件truncate的方法,释放c盘空间。

一种方法是:

<span></span><code style="padding: 16px;color: #ddd;font-family: Operator Mono, Consolas, Monaco, Menlo, monospace;font-size: 12px;padding-top: 15px;background: #272822;border-radius: 5px">cat /dev/null > <span style="color: #a6e22e;line-height: 26px">${filename}</span><br></code>

或则(新get!)

<span></span><code style="padding: 16px;color: #ddd;font-family: Operator Mono, Consolas, Monaco, Menlo, monospace;font-size: 12px;padding-top: 15px;background: #272822;border-radius: 5px">: > <span style="color: #a6e22e;line-height: 26px">${filename}</span><br></code>

这么,可以快速释放空间。

参考文档

Findandremovelargefilesthatareopenbuthavebeendeleted

以上是(星标)如何避免大文件被直接rm了?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:itcool.net。如有侵权,请联系admin@php.cn删除