linux删除文件 空间没有被释放

其实我以前也遇到过这种情况。
我记得有一次,一位同事创建了一个大文件,突然意识到他无法删除它,并且空间没有被释放。
当我当时看到它时,这不是一个简单的任务。

我让他使用lsof命令。
这确实很神奇。
您可以查看哪些文件被哪个进程锁定。
结果表明该文件被特定进程锁定。
我当时不明白。
这个文件已经被删除了,怎么还能被锁定呢?
后来我教他如何杀死进程。
说实话,当时我还挺紧张的,但是这个方法还是管用的。
但是,如果进程继续写入数据,杀死进程就不起作用了。

当时,他们说重新启动系统是解决方案,但这不是最好的。
最好的方法是自己删除这个文件。
我给他看了。
例如,对于此 svn.log 文件,您将使用命令 echo "" > /tmp/svn.log。
这将删除您的文件并释放空间。

可以这么说,一个文件分为两部分:数据和指针。
数据是文件的实际内容,指针告诉系统文件在哪里。
当数据被删除时,指针也被删除,自然会覆盖空间。

最后提醒大家删除文件时一定要小心,尤其是在生产环境中。
你需要有一个好的后盾,这样万一发生什么事情,你就无处可哭。
我的建议是其他系统可能略有不同。
如果您有任何疑问,请给我发私信,我将很乐意随时解答。
希望我的回答有帮助。

【程序员】绝了!一行 rm -rf 把公司整个数据库删没了!

2 02 2 年,某个城市、某个公司的服务器数据将会消失。
问题是rm -rf命令没有赋值,根目录被彻底删除了。
当时我很困惑,但后来我明白了。

命令已变形。
本来想删除Oracle目录,但是变量设置不正确,所以rm -rf/ 把它们全部删除了。
root账户权限太高,没有任何限制,所以我直接终止了。
Linux文件删除速度非常快,使用过的文件也会被删除并且无法恢复。

备份也有问题。
离线备份大小为 1 KB,且为空。
上次备份是在 2 01 3 年 1 2 月,现在已经不复存在了。
没人关心自动备份,也不检查备份结果。
一直都是这样。

恢复是相当困难的。
ext3 grep恢复了一些MySQL文件,但关键数据不见了。
我尝试了 extundelete 但没有成功。
Binlog 最终挽救了局面并恢复了一些重要数据,但必须提前启动 Binlog 并完成备份。

原因是管理太混乱。
人还不够好。
非专业人员进行维修时,并不知道其中的风险。
Root帐户偶尔可以使用,但无法进行权限管理。
备份策略也没用,备份没有验证也没有人检查自动备份。
没有监控警报,没有人知道服务是否存在问题。
应急响应也较慢,数据仍在写入,恢复比较困难。

课程需要更改。
操作规则,不要使用root,使用普通账号,高危命令必须经过两人确认。
备份策略必须包括三个备份、两个介质和一个异地副本。
定期检查和验证数据完整性。
监控警报并在服务出现问题时立即通过短信通知人们。
必须监控关键目录以防止意外删除。
在员工培训期间,必须讨论风险并传达流程。
需要开展演练,提高应急响应能力。
从技术上讲,使用 LVM 快照可以加快备份速度。
文件系统也切换为ext4 或者XFS,更加稳定。

就是这样。