公众号关注「奇妙的Linux世界」
设为「星标」linux删除文件夹中标linux,每晚带你玩转Linux!
日常运维过程中,我们常常须要处理c盘空间问题linux删除文件夹,当接到告警后,第一时间会去找这些大文件,通常例如Centos,可能大文件就是/var/log/messages。
但有的时侯,会出现怎样也查不到大文件的情况,通过du查找的时侯,统计下来的大小,跟df显示的占用空间对应不上。
假如通过df-i查看inode没有满的话,这么极有可能,是有大文件被直接rm了,并且一直有进程打开了这个文件。
这些情况,因为进程没有退出,因而文件占用的空间并不会释放;直至进程退出,c盘空间才能真正释放。
怎样找到是那个进程打开了该文件
Linux上,因为进程依旧存活,因而可以通过查看所有进程打开的fd,假如该文件早已被删掉,则查看时,会显示(deleted)。
示例如下:
<span></span>$ 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 />
怎么避开这些情况
不要直接删掉该文件linux删除文件夹,而是通过将文件truncate的方法,释放c盘空间。
一种方法是:
<span></span>cat /dev/null > <span style="color: #a6e22e;line-height: 26px">${filename}</span><br />
或则(新get!)
<span></span>: > <span style="color: #a6e22e;line-height: 26px">${filename}</span><br />
这么,可以快速释放空间。
参考文档
Findandremovelargefilesthatareopenbuthavebeendeleted
以上就是(星标)如何避免大文件被直接rm了?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号