web-dev-qa-db-ja.com

重複の復元に失敗しました

ラップトップがwifiに接続する際に問題が発生したため、OSを再インストールすることにしました。 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
duboy

問題が解決しました:

Update 1再インストールしましたが、同じエラーが発生しました。私は この記事 を見つけ、すべての重複ファイルを増分部分に抽出することができました。この記事ではrdiffを使用してファイルをつなぎ合わせると述べていますが、それがどれほど簡単かはわかりません。幸い、私が本当に復元する必要がある私のラボレポートはそのまま残っていました。次に、残りのファイルを修正してみます。

Update 2Deja-Dupを使用してバックアップを復元できなかったため、すべてを手動で抽出する必要がありました。私はこのガイドに従って 手動による復元 を実行しましたが、一部のファイルは元に戻りましたが、複数の重複ボリュームにまたがるファイルは増分ファイルに分離されました。ウィキは、「増分バックアップからデータを回復するには、rdiffを使用してファイルをつなぎ合わせる」と述べています。 rdiff manual には、増分ファイルからの復元に関するセクションがありますが、理解できませんでした。 手動復元 に関する別のスレッドを見つけました。その中に誰かがマルチボリュームスナップショップに参加するためのスクリプトを提供しました。 スクリプト を実行すると、すべてのマルチボリュームスニペットが結合されました。ファイルを取り戻しました。

1
duboy

--ignore-errors説明どおり ここ および/またはコマンドラインで重複して復元します。

..ede/duply.net
0
user949098