首頁  >  文章  >  系統教程  >  (星標)如何避免大檔案被直接rm了?

(星標)如何避免大檔案被直接rm了?

王林
王林轉載
2024-02-03 09:40:031069瀏覽

公眾號關注「奇妙的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刪除