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
再次运行,这次它删除了文件!
您应该能够通过以下命令找到仍在使用该文件的进程
lsof | grep -i \(deleted\)
Run Code Online (Sandbox Code Playgroud)
这些文件仍在使用中,因此仍然占用磁盘空间。重新启动服务或终止正在使用该文件的进程应该释放磁盘空间。