我在linux服务器上用空白文件覆盖了一个大文件。 我可以恢复现有的文件吗?

我回到我的机器,试图通过ssh将文件保存到我的Linux服务器(CentOS)上。

它失败了。

我对保留所做的更改不感兴趣,所以我closures了编辑器并重新打开了文件(通过ssh)。

保存尝试擦除文件。

自从我上次上传到版本控制以来,我已经做了大量的更改。

鉴于它只是抹去了档案,我认为数据仍然存在。 这只是一个文本文件(PHP),有什么办法恢复它?

鉴于它只是抹去了档案,我认为数据仍然存在。

恐怕你错了。 根据文件系统和底层设备,构成文件的字节可能仍然存在于磁盘上,但是对于全面取证恢复的情况,将无法访问,我确定您不想支付对于。

你有没有检查你的临时目录,以确保你没有其他的副本? 因为你可能不会得到那个特定的文件。

关于这些坏消息我很遗憾。

如果索引节点被取消引用,则可能可以恢复数据。 如果这些数据块被覆盖,就需要像Matt那样的法医恢复。

我最喜欢的方法是使用debugfs ,它可以用来访问已被解除引用但尚未被覆盖的信息节点。 lsdel命令是关键。 通过一些简单的脚本,您可以创build硬链接到由lsdel输出的所有inode,并开始logging数据。

还有其他的技巧,比如grepping文件系统或者使用不同的方法findinode 。

祝你好运,小心点。 低水平的公用事业很容易产生灾难性的结果,不用担心。

使用PhotoRec 。 你走了 曾经有一个问题(Linux),我删除了在LVM2卷组中作为物理卷使用的分区,并且没有备份/ etc / lvm / backup文件。 PhotoRec整齐地解决了这个问题,通过删除的分区并为我恢复这个文件(一个纯文本文件),从那里我能够重build原来的configuration。 祝你好运。

这是一个最后的手段build议 – 看看你是否可以恢复编辑器在本地机器上打开的文件。 我之前完成了这个工作,并且能够在本地进行恢复,而无需在服务器上尝试这样做,因为服务器更繁忙,因此更有可能重新使用文件占用的磁盘空间。