我的笔记本电脑连接 wifi 时遇到了一些问题,所以我决定重新安装操作系统。我用 Duplicity 做了备份,并将其移动到手机上,重新安装了 Ubuntu 18.04,然后将备份移回笔记本电脑进行恢复。
我以前也这样做过,但这次事情进展得不太顺利。我浏览了恢复对话框,开始恢复时出现了错误:
恢复失败
由于未知错误而失败。
Traceback (innermost last):
File "/usr/bin/duplicity", line 1555, in <module>
with_tempdir(main)
File "/usr/bin/duplicity", line 1541, in with_tempdir
fn()
File "/usr/bin/duplicity", line 1393, in main
do_backup(action)
File "/usr/bin/duplicity", line 1472, in do_backup
restore(col_stats)
File "/usr/bin/duplicity", line 728, in restore
restore_get_patched_rop_iter(col_stats)):
File "/usr/lib/python2.7/dist-packages/duplicity/patchdir.py", line 558, in Write_ROPaths
for ropath in rop_iter:
File "/usr/lib/python2.7/dist-packages/duplicity/patchdir.py", line 521, in integrate_patch_iters
for patch_seq in collated:
File "/usr/lib/python2.7/dist-packages/duplicity/patchdir.py", line 389, in yield_tuples
setrorps(overflow, elems)
File "/usr/lib/python2.7/dist-packages/duplicity/patchdir.py", line 378, in setrorps
elems[i] = iter_list[i].next()
File "/usr/lib/python2.7/dist-packages/duplicity/patchdir.py", line 121, in difftar2path_iter
tarinfo_list = [tar_iter.next()]
File "/usr/lib/python2.7/dist-packages/duplicity/patchdir.py", line 339, in next
self.set_tarfile()
File "/usr/lib/python2.7/dist-packages/duplicity/patchdir.py", line 333, in set_tarfile
self.current_fp = self.fileobj_iter.next()
File "/usr/bin/duplicity", line 764, in get_fileobj_iter
backup_set.volume_name_dict[vol_num],
KeyError: 1
我需要紧急修复此问题,如果发现任何问题,我会提供更新,但我真正能做的就是查找错误并查看是否有其他人遇到过这种情况。我不确定发生了什么。
我跑了
LANG=C DEJA_DUP_DEBUG=1 deja-dup --restore
在成功检测到我所有的旧快照(它显示 DUPLICITY INFO 'home/user/snap/app/...)后,创建了以下内容输出错误我真的需要找回我的文件,我不知道到底发生了什么,造成了这么大的错误。
答案1
问题解决了:
更新 1
我再次重新安装,但出现同样的错误。我发现本文很有帮助,我能够将所有 duplicity 文件提取到增量部分中。文章说使用 来rdiff
拼接文件,但我不确定这有多容易。幸运的是,我真正需要恢复的实验报告完好无损。接下来我将尝试修复其余文件。
更新 2 我无法使用 Deja-Dup 恢复备份,因此我必须手动提取所有内容。我按照此指南手动恢复,我的一些文件恢复了,但其他跨越多个 duplicity 卷的文件被分成了增量文件。维基百科上说“要从增量备份中恢复数据,请使用 rdiff 将文件拼接在一起。”但我遇到了困难。rdiff 手册有一个关于从增量文件恢复的部分,但我搞不懂。我找到了另一个关于手动恢复,其中有人提供了一个用于加入多卷快照的脚本。我运行了剧本,所有多卷片段都已合并。我找回了我的文件。
答案2
--ignore-errors
按照说明尝试这里和/或在命令行上使用 duplicity 恢复。
..ede/duply.net