如何在Linux上恢复误删除的文件或目录

前天,我在公司服务器处理紧急任务时,不小心删除了一个重要的Python脚本。
当时我正在后台运行一个日志分析脚本,突然我发现该脚本有问题。
我的第一反应是寻找脚本文件,但发现它丢失了。
我很紧张,因为该脚本包含最近几个月的日志分析结果,对我们的工作非常重要。

我立即检查进程,发现日志分析脚本仍在运行,但脚本文件丢失了。
我立即想起我可以使用 lsof 命令来查看哪个进程仍在使用该文件。
我输入命令,发现脚本文件实际上仍在被进程使用。

我按照步骤进入该进程的文件描述符目录,复制文件描述符,然后将它们复制到新目录。
当我打开该脚本文件时,它完好无损,并且包含与以前完全相同的代码。
那一刻,我松了一口气。

通过这次经历,我意识到,即使在Linux系统上意外删除了文件,只要关联的进程仍然存在,就有很大的机会将其恢复。
当然,如果该进程不再存在,恢复就会变得更加困难。
尽管如此,备份文件系统的状态并定期检查总是一个好主意。
等等,还有一件事:我想到我们公司可能需要开发一个更完整的文档管理流程,以防止类似的错误再次发生。

linux误删文件怎么恢复 ?linux误删文件恢复方法

如果不小心删除了文件,请先停止写入操作,使用debugfs找到该块,然后使用ddif恢复。
如果你早做,你的成功率会更高。

linux系统被删的文件怎么找回

我记得有一天我不小心删除了Linux服务器上的一个重要日志文件,这是调试我们项目的关键数据。
我心烦意乱,立即开始寻找改善的方法。
我尝试过测试磁盘。
按照说明,我首先使用 sudo apt install testdisk 在 Debian 系统上安装,然后运行 ​​sudo testdisk,选择相应的磁盘,进入高级菜单,选择修复功能,扫描了很长时间,终于找到了丢失的文件。
但是,我必须手动标记它并将其保存到新的磁盘路径。
这个过程花了将近一个小时,幸运的是文件最终被成功恢复。

等等,还有一件事,我突然想到,如果删除一个文件后,它仍然被日志监控工具等进程占用,我还能通过lsof工具找到该文件,然后复制它吗?看来我需要再研究一下这个方法。
不过,预防总是胜于治疗,所以大家以后应该多注意备份这些重要的数据。