我已经在 cron 作业中使用口是心非一年了,效果很好。从上周开始,我收到以下消息:
Ausdruckbasierte Dateiliste wird gelesen /home/mu/.config/exclude-b2.txt
Traceback (most recent call last):
File "/usr/bin/duplicity", line 1637, in <module>
if "Forced assertion for testing" in util.uexc(e):
File "/usr/lib64/python2.7/site-packages/duplicity/util.py", line 82, in uexc
return ufn(m)
File "/usr/lib64/python2.7/site-packages/duplicity/util.py", line 63, in ufn
return filename.decode(globals.fsencoding, 'replace')
AttributeError: 'tuple' object has no attribute 'decode'
我的 Fedora 30 系统上的软件包的最后一次升级duplicity
是在 2019 年 5 月 9 日,我运行的是 0.7.19 版本。备份转到 Backblaze B2。
有什么办法可以让我固定下来吗?
答案1
这是另一个实例,中断的备份使口是心非处于无法恢复的状态。我已经删除了上次增量备份中的部分文件,现在它又可以工作了。
答案2
查看可从以下位置下载的源代码格努,看起来它正在尝试处理异常,并在这样做时遇到异常,这没有帮助。我认为你在最后几行/usr/bin/duplicity
:
except Exception as e:
util.release_lockfile()
if "Forced assertion for testing" in util.uexc(e):
log.FatalError(u"%s: %s" % (e.__class__.__name__, util.uexc(e)),
log.ErrorCode.exception,
e.__class__.__name__)
else:
# Traceback and that mess
log.FatalError(util.exception_traceback(),
log.ErrorCode.exception,
e.__class__.__name__)
它要求util.uexc(e)
查找一些仅在测试期间使用的文本(显然),并且该例程由于某种原因失败。您可以尝试仅更改启动if
而if False and
不是绕过此测试,然后查看是否记录了异常的真正原因。您也可以尝试暂时更改为 C 语言环境,看看是否会发生任何变化。