我不小心备份了 /proc/* ,现在我被一个名为“cifs2695”的 28Tb 文件卡住了,我无法删除!

Dan*_*ton 21 backup proc files

最近我的老板让我备份一个 Ubuntu 16 工作站。我想保留所有的库和系统文件,因为我们有只能在特定机器上编译的 C++ 代码。由于懒惰,我只是rsync将根目录添加到我们的网络附加存储。

我没有意识到你不应该备份/proc/

现在有一个文件在我们的 NAS 上占用了 28Tb。ls -lha返回:

-rwxr-xr-x 1 delton delton 28T Apr 20 07:08 cifs2695
Run Code Online (Sandbox Code Playgroud)

最初,我的rm命令没有出错。但是,即使几天后,它仍然出现ls并且设备上没有空间被释放。现在,当我尝试使用时,rm我得到了这个:

rm: cannot remove 'cifs2695': No such file or directory
Run Code Online (Sandbox Code Playgroud)

根据我在网上阅读的内容,我还尝试将一个小文本文件复制到它上面,我也尝试了echo > cifs2695. 都没有工作。我不认为这是权限问题,因为我能够删除具有相同权限的其他文件就好了。

关于如何摆脱这个讨厌的“文件”的任何想法?

更新:更多信息 这是一个 Dell/EMC 300 NAS,安装在我的 fstab 中的 SMB 共享。我可以访问 Dell Unisphere 管理面板,但我无法通过 SSH 连接到 NAS(有人告诉我,它运行的是 CentOS 版本)。

更新 - 固定!! 我重新启动了我备份的机器。显然那台机器正在以某种方式使用该文件,尽管它没有出现在 lsof 中。我能够rm再次运行,这次它删除了文件!

xx4*_*x4h 2

您应该能够通过以下命令找到仍在使用该文件的进程

lsof | grep -i \(deleted\)
Run Code Online (Sandbox Code Playgroud)

这些文件仍在使用中,因此仍然占用磁盘空间。重新启动服务或终止正在使用该文件的进程应该释放磁盘空间。