如何手动恢复损坏的Deja Dup备份

由于各种原因(可能是这个错误 )我做的Deja Dup备份失败了。 我一直在按照本指南手动恢复备份。 步骤是:

在包含备份的文件夹中运行:

for t in duplicity-full.[yournumbershere].*.difftar.gz; do tar xf $t; done

这给了我两个文件夹: multivol_snapshotsnapshot 。 在multivol_snapshot文件夹中是我的所有文件,但分成较小的文件。 我可以通过运行cat * > file.txt手动加入每个,但这需要很长时间。 该页面提供了一个名为duplicity_join.py的脚本,它将它们连接在一起。 但是,它不保留文件夹结构,因此任何具有相同名称的文件或文件夹都会被覆盖。

是否有可用于自动加入文件的现有方法来保留文件夹结构?

使用我的修改复制本指南中的解决方案:

打开终端并导航到包含备份的目录。 此文件夹包含存档为许多.gz文件的所有文件。 我在一个名为multivol_snapshot的文件夹中。 使用以下命令解压缩所有存档:

for t in duplicity-full.[yournumbershere].*.difftar.gz; do tar xf $t; done

这可能需要一段时间。 我有138GB的数据需要5个小时才能解压。

运行它将以正确的结构返回正确的结构文件和文件夹:所有文件都分成更小的部分。 您可以通过运行以下命令轻松地手动加入这些文件:

cat * > examplefile.txt

但是,如果您有数千个文件,这可能需要很长时间。 David Huss编写了一个名为duplicity_joiner.py的Python脚本,以简化这一过程。 在这里下载 。

要运行它,你需要python和tk。 通过运行安装:

sudo apt-get install python-dev sudo apt-get install python-tk

使用此脚本,您可以选择要还原文件的文件夹,但需要注意一点:此脚本不维护文件夹结构。 因此,如果您有许多具有相同名称的文件夹和文件,则可能会覆盖它们。

我已经重写了脚本来解决这个问题。 它将保留文件夹结构,但可能导致非常长的文件夹路径。 在这里下载 。