duplicity tarfile.ReadError: неожиданный конец данных на Raspberry Pi 4 - PullRequest
0 голосов
/ 01 мая 2020

Я хочу использовать дублирование для резервного копирования моих файлов (приблизительно 300 ГБ) с Raspberry Pi 4 в сетевом хранилище Samba. Первое полное резервное копирование работает хорошо, но инкрементные резервные копии всегда терпят неудачу с неожиданной ошибкой окончания данных (см. Ниже):

Traceback (innermost last):
  File "/usr/local/bin/duplicity", line 100, in <module>
    with_tempdir(main)
  File "/usr/local/bin/duplicity", line 86, in with_tempdir
    fn()
  File "/usr/local/lib/python3.7/dist-packages/duplicity/dup_main.py", line 1538, in main
    do_backup(action)
  File "/usr/local/lib/python3.7/dist-packages/duplicity/dup_main.py", line 1674, in do_backup
    incremental_backup(sig_chain)
  File "/usr/local/lib/python3.7/dist-packages/duplicity/dup_main.py", line 664, in incremental_backup
    globals.backend)
  File "/usr/local/lib/python3.7/dist-packages/duplicity/dup_main.py", line 427, in write_multivol
    at_end = gpg.GzipWriteFile(tarblock_iter, tdp.name, globals.volsize)
  File "/usr/local/lib/python3.7/dist-packages/duplicity/gpg.py", line 454, in GzipWriteFile
    new_block = next(block_iter)
  File "/usr/local/lib/python3.7/dist-packages/duplicity/diffdir.py", line 544, in __next__
    result = self.process(next(self.input_iter))  # pylint: disable=assignment-from-no-return
  File "/usr/local/lib/python3.7/dist-packages/duplicity/diffdir.py", line 209, in get_delta_iter
    for new_path, sig_path in collated:
  File "/usr/local/lib/python3.7/dist-packages/duplicity/diffdir.py", line 306, in collate2iters
    relem2 = next(riter2)
  File "/usr/local/lib/python3.7/dist-packages/duplicity/diffdir.py", line 374, in combine_path_iters
    refresh_triple_list(triple_list)
  File "/usr/local/lib/python3.7/dist-packages/duplicity/diffdir.py", line 361, in refresh_triple_list
    new_triple = get_triple(old_triple[1])
  File "/usr/local/lib/python3.7/dist-packages/duplicity/diffdir.py", line 347, in get_triple
    path = next(path_iter_list[iter_index])
  File "/usr/local/lib/python3.7/dist-packages/duplicity/diffdir.py", line 256, in sigtar2path_iter
    for tarinfo in tf:
  File "/usr/lib/python3.7/tarfile.py", line 2405, in __iter__
    tarinfo = self.next()
  File "/usr/lib/python3.7/tarfile.py", line 2283, in next
    raise ReadError("unexpected end of data")
 tarfile.ReadError: unexpected end of data

Я пробовал с меньшим количеством файлов (около 70 ГБ), и это работает хорошо. У меня осталось достаточно места и осталось ОЗУ. Версия двуличности - 0.8.12.1612.

Используемая мной команда:

duplicity --verbosity info --no-encryption --archive-dir $WORKSPACE/archivedir --tempdir $WORKSPACE/tmp /media/home/backups/srv1 /path/to/my/data

Не могли бы вы дать мне несколько советов? Спасибо!

...