CentOS问题解压Plesk备份tar

我目前正在移动到一个新的服务器,并在Dropbox中使用Plesk Dropbox Backup扩展程序制作Plesk备份文件,.tar文件的大小约为55GB。

我已经将它下载到服务器到/ var / lib / psa / dumps文件夹中。

问题是我尝试使用焦油xvf提取tar文件,我得到的错误如下:

tar:意外的EOF在档案焦油:错误不可恢复:现在退出

经过广泛的search,我试图运行bzip2recover并得到以下错误:

对不起,我找不到任何块的边界。

我的问题是,我不再有权访问旧的Plesk服务器的备份是从那么它的基本,我可以从这个备份文件访问文件,有大约100个站点在这个备份文件,只有大约30提取之前,它抛出了错误。

有没有办法解决?

这听起来很像你误解了这个问题,所以你的问题很可能是一厢情愿的想法。 您没有遇到解压tar文件的问题。 相反,你的问题是你在第一种情况下如何制作的。

您可以采取几个步骤来确认数据是否真的丢失。

错误消息表明您的存档被截断。 在截断归档的情况下,tar会执行什么操作,它将提取所有可能的文件和尽可能多的最后一个文件。 所以你需要仔细看看由tar提取的最后一个文件。 如果该文件有一个有效的名称,并且文件的内容是正确的,除了提取的文件被截断,那么您已经确认您的存档确实被截断。 您可以将最后一个文件的最后几个块与归档的最后几个块进行比较,以进一步validation此事实。 虽然请注意,如果您的存档被截断在一个块的中间,该部分块将不包括在最后提取的文件中。

此外比较提取的目录的大小和档案的大小。 既然你没有使用任何压缩你的tar档案,大小预计是相似的。 由于tar的开销略低于大多数文件系统,提取目录的总大小实际上应该比原始的tar文件略大。 为了更准确地比较大小,可以从提取的目录中创build一个新的tar归档,并比较两个tar文件的大小。

如果提取的目录确实具有与tar归档相同的大小,那么您几乎可以期望所有可恢复的目录都位于该目录内。

你仍然可以问是否有任何希望,你可能错过了一些select。 在这种情况下,档案中的文件头受到损坏的可能性很小,tar认为文件比实际大,纯粹的巧合最终还是find了一个有效的文件头那。

这是不太可能的,但是如果确实发生在你身上,那么在提取的目录中的某个地方,你应该能够find比本来应该大的文件。 如果您发现提取的文件比预期的要大几GB,那么您可能很幸运地发现其中的一些缺失数据。

但是,已经非常确定您的存档已被截断,并且任何元数据都不太可能被损坏,这种方式仍然允许tar通过存档读取并且发现它已被截断。 所以我们可以或多或less地得出结论:你所遗漏的任何数据都是由截断的归档引起的。

在这种情况下,结论就是你想要备份的100个站点,事实上你只做了备份30.而你没有备份过去的70个站点。

所以我们可以重申这个问题如下:

我需要恢复70个网站,但我没有备份。

有没有办法解决?

而当这样陈述时,答案显然是:不。

那么你现在可以做什么? 你必须回去find机器的原始数据。 因为这是数据存在的唯一地方。

除此之外,你最后的select是创造一个时间机器回来并且在太迟之前testing你的恢复。 我担心这比恢复没有备份的数据稍微可行。

如果您使用焦油tvf [文件名]列出档案里面的文件?

如果你的服务器比较旧,那么与新服务器使用的相比,tar文件的格式可能已经改变了。 在tar文件夹的存档格式选项中使用-posix选项或其他选项可能会有所帮助。