我想使用双重性从samba网络存储上的raspberry pi 4备份我的文件(大约300GB)。第一个完整备份效果很好,但是增量备份总是会失败,并出现意外的数据终止错误(请参见下文):
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
我尝试使用少量文件(大约70GB),并且效果很好。 我还有足够的空间和剩余的RAM。双重版本为0.8.12.1612。
我使用的命令是
duplicity --verbosity info --no-encryption --archive-dir $WORKSPACE/archivedir --tempdir $WORKSPACE/tmp /media/home/backups/srv1 /path/to/my/data
能给我一些建议吗?谢谢!
答案 0 :(得分:0)
There was a bug report on this in 2017, but was eventually closed without fix due to inactivity. There is also a help question from 2016 without a solution.
有时在重复版本0.8.12中存在此错误,并且我发现运行cleanup命令可以修复该错误。即使输出表明没有删除任何内容,也是如此!我不知道为什么。
user@computer:~/.backup$ duplicity ~ --progress b2://XXX:YYY@ZZZ
[...]
File "/usr/lib/python3.6/tarfile.py", line 2415, in __iter__
tarinfo = self.next()
File "/usr/lib/python3.6/tarfile.py", line 2293, in next
raise ReadError("unexpected end of data")
tarfile.ReadError: unexpected end of data
然后
duplicity cleanup --force b2://XXX:YYY@ZZZ
Local and Remote metadata are synchronized, no sync needed.
Cleaning up previous partial cleanup backup set, restarting.
Last full backup date: Mon Apr 20 00:56:59 2020
GnuPG passphrase:
No extraneous files found, nothing deleted in cleanup.
然后它起作用了
user@computer:~/.backup$ duplicity ~ --progress b2://XXX:YYY@ZZZ
backing up: ZZZ
Local and Remote metadata are synchronized, no sync needed.
Last full backup date: Mon Apr 20 00:56:59 2020
0.0KB 00:00:03 [0.0KB/s] [> ] 0% ETA 3sec