我删除了 backup.tar.gz 而不是解压它,我可以恢复它吗?

我删除了 backup.tar.gz 而不是解压它,我可以恢复它吗?

我创建了一个备份

# tar -cvpzf /run/media/user/XYZ/backup.tar.gz --exclude=/run/media/user/root/mnt /run/media/user/root/

现在我需要备份,当我尝试提取 tar.gz 存档时,我不小心删除了备份文件:

#tar -xvpzf /run/media/user/XYZ/backup.tar.gz -C /run/media/user/otherDevice/
gzip: stdin: unexpected end of file
tar: Child returned status 1
tar: Error is not recoverable: exiting now

我几乎立即收到错误,所以我猜只有一些位被覆盖。我仍然可以看到该文件,但其大小为 0 字节。分区类型为NTFS。有人可以解释发生了什么以及如何恢复文件吗?

答案1

ntfsundelete包里有一个工具ntfsprogshttps://manpages.ubuntu.com/manpages/trusty/man8/ntfsprogs.8.html

由于您有 NTFS 存储,您还可以尝试使用基于 Windows 的工具(其中有几个具有不同程度的可用性)。

但最有可能的是,您不需要恢复存档。首先,如果您现在看到的存档的字节长度为零 - 该文件存在,则不会被删除。

其次,tar在提取时不修改存档文件。存档文件的零长度通常意味着当您创建备份时 - 由于某种原因失败。而你只是错过了这一点。

您现在可以/应该做什么 - 尝试从原始文件再次创建备份。并检查它是否好。tar -t会对此有所帮助。

相关内容