Что делать при сбое восстановления deja-dup?

У меня есть полная резервная копия, сделанная deja-dup на внешнем HD около 300Gb.

Я пытаюсь восстановить его на другой внешний жесткий диск объемом 1 ТБ, но при извлечении 58 ГБ произошла ошибка:(

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 560, in Write_ROPaths
    ITR(ropath.index, ropath)
  File "/usr/lib/python2.7/dist-packages/duplicity/lazy.py", line 344, in __call__
    last_branch.fast_process, args)
  File "/usr/lib/python2.7/dist-packages/duplicity/robust.py", line 38, in check_common_error
    return function(*args)
  File "/usr/lib/python2.7/dist-packages/duplicity/patchdir.py", line 614, in fast_process
    ropath.copy(self.base_path.new_index(index))
  File "/usr/lib/python2.7/dist-packages/duplicity/path.py", line 445, in copy
    other.writefileobj(self.open("rb"))
  File "/usr/lib/python2.7/dist-packages/duplicity/path.py", line 627, in writefileobj
    buf = fin.read(_copy_blocksize)
  File "/usr/lib/python2.7/dist-packages/duplicity/patchdir.py", line 212, in read
    if not self.addtobuffer():
  File "/usr/lib/python2.7/dist-packages/duplicity/patchdir.py", line 237, in addtobuffer
    self.tarinfo_list[0] = self.tar_iter.next()
  File "/usr/lib/python2.7/dist-packages/duplicity/patchdir.py", line 344, 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: 391

Кто-нибудь знает что-нибудь об этой ошибке?

Можно было бы повторить попытку восстановления, но начать с того места, где оно остановилось раньше?

2 ответа

Решение

После того, как прошло много дней страданий и назвал двуличность + дежа-дуп на миллионе дурных имен, я наконец-то восстановил свои важные данные.

Для этого мне нужно было:

  • молись каждому существующему святому:D
  • создал текстовый файл, содержащий все файлы резервной копии на внешнем диске, используя duplicity list-current-files file:///media/user/sdb > files.txt;
  • использовал nautilus для создания вручную всех наиболее важных каталогов, извлеченных из списка выше;
  • затем выбрал каждый из этих каталогов один за другим в nautilus и вызвал Revert to Previous Version; Это называется дежа-дуп, который сделал свою работу.

Тогда я смог восстановить все мои необходимые файлы без дублирования, чтобы потерпеть крах, прежде чем закончить:)

Похоже , вам не хватает тома.

попробуйте добавить параметр '--ignore-errors' к вызову duplicity и проконтролировать вывод файлов, которые невозможно восстановить. ..ede/duply.net

со страницы руководства по двуличности

--ignore-ошибки

Попробуйте игнорировать определенные ошибки, если они случаются. Этот параметр предназначен только для того, чтобы разрешить восстановление резервной копии в случае определенных проблем, которые в противном случае могли бы привести к сбою резервного копирования. Никогда не рекомендуется использовать эту опцию, если только у вас нет ситуации, когда вы пытаетесь восстановить данные из резервной копии, и она не работает из-за проблемы, которую вы хотите, чтобы двуличие игнорировало. Даже тогда, в зависимости от проблемы, эта опция может не иметь эффекта.

Обратите внимание, что, хотя игнорируемые ошибки будут регистрироваться, в конце операции не будет сводки, которая сообщит вам, что было проигнорировано, если что-то произошло. Если это используется для аварийного восстановления данных, рекомендуется выполнить резервное копирование таким образом, чтобы можно было повторно просмотреть журнал резервного копирования (найдите строки, содержащие строку IGNORED_ERROR).

Если вам когда-либо придется использовать эту опцию по причинам, которые не поняты или не поняты, но не являются вашей собственной ответственностью, пожалуйста, обратитесь к специалистам по обслуживанию двуличности. Необходимость использования этой опции в производственных условиях обычно считается ошибкой.

Другие вопросы по тегам