![Python 튜플 오류로 인해 이중성이 갑자기 실패함](https://linux55.com/image/159157/Python%20%ED%8A%9C%ED%94%8C%20%EC%98%A4%EB%A5%98%EB%A1%9C%20%EC%9D%B8%ED%95%B4%20%EC%9D%B4%EC%A4%91%EC%84%B1%EC%9D%B4%20%EA%B0%91%EC%9E%90%EA%B8%B0%20%EC%8B%A4%ED%8C%A8%ED%95%A8.png)
저는 1년 동안 cron 작업에서 Duplicity를 사용해 왔으며 훌륭한 결과를 얻었습니다. 지난주부터 다음과 같은 메시지를 받았습니다.
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
이는 중단된 백업으로 인해 Duplicity가 복구할 수 없는 상태가 되는 또 다른 사례입니다. 마지막 증분 백업에서 일부 파일을 삭제했는데 이제 다시 작동합니다.
답변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 로케일로 변경하여 변경 사항이 있는지 확인할 수도 있습니다.