저는 이중성을 사용하여 파일을 Backblaze B2에 백업했습니다. 며칠 전까지만 해도 이 방법은 매우 효과적이었습니다. 로컬 Python 라이브러리를 제거했다가 다시 설치했습니다. 또한 source
현재 포함된 두 번째 스크립트로 비밀번호를 추출했습니다 . 업로드가 실패하고 다음 메시지가 계속해서 나타납니다.
Ausdruckbasierte Dateiliste wird gelesen /home/mu/.config/exclude-b2.txt
Lokale und entfernte Metadaten sind bereits synchron, kein Abgleich benötigt.
Last inc backup left a partial set, restarting.
Letzte vollständige Sicherung: Mon Sep 3 09:37:45 2018
Traceback (innermost last):
File "/usr/bin/duplicity", line 1560, in <module>
with_tempdir(main)
File "/usr/bin/duplicity", line 1546, in with_tempdir
fn()
File "/usr/bin/duplicity", line 1398, in main
do_backup(action)
File "/usr/bin/duplicity", line 1528, in do_backup
incremental_backup(sig_chain)
File "/usr/bin/duplicity", line 653, in incremental_backup
dummy_backup(tarblock_iter)
File "/usr/bin/duplicity", line 227, in dummy_backup
while tarblock_iter.next():
File "/usr/lib64/python2.7/site-packages/duplicity/diffdir.py", line 523, in next
result = self.process(self.input_iter.next())
File "/usr/lib64/python2.7/site-packages/duplicity/diffdir.py", line 195, in get_delta_iter
for new_path, sig_path in collated:
File "/usr/lib64/python2.7/site-packages/duplicity/diffdir.py", line 286, in collate2iters
relem2 = riter2.next()
File "/usr/lib64/python2.7/site-packages/duplicity/diffdir.py", line 354, in combine_path_iters
refresh_triple_list(triple_list)
File "/usr/lib64/python2.7/site-packages/duplicity/diffdir.py", line 341, in refresh_triple_list
new_triple = get_triple(old_triple[1])
File "/usr/lib64/python2.7/site-packages/duplicity/diffdir.py", line 327, in get_triple
path = path_iter_list[iter_index].next()
File "/usr/lib64/python2.7/site-packages/duplicity/diffdir.py", line 239, in sigtar2path_iter
for tarinfo in tf:
File "/usr/lib64/python2.7/tarfile.py", line 2510, in next
tarinfo = self.tarfile.next()
File "/usr/lib64/python2.7/tarfile.py", line 2378, in next
raise ReadError(str(e))
ReadError: missing or bad subsequent header
Backblaze B2에 온라인으로 접속하여 간단히 복구되기를 바라면서 마지막 아카이브와 서명 파일을 삭제했지만 복구되지 않았습니다. 이제 Duplicity의 출력은 다음과 같습니다.
Reading globbing filelist /home/mu/.config/exclude-b2.txt
Local and Remote metadata are synchronized, no sync needed.
Warning, found the following local orphaned signature file:
duplicity-new-signatures.20181005T090005Z.to.20181005T100005Z.sigtar.part
Last full backup left a partial set, restarting.
Last full backup date: Fri Oct 5 12:00:05 2018
Reading globbing filelist /home/mu/.config/exclude-b2.txt
RESTART: The first volume failed to upload before termination.
Restart is impossible...starting backup from beginning.
Reading globbing filelist /home/mu/.config/exclude-b2.txt
Local and Remote metadata are synchronized, no sync needed.
Warning, found the following local orphaned signature file:
duplicity-new-signatures.20181005T090005Z.to.20181005T100005Z.sigtar.part
Warning, found signatures but no corresponding backup files
Last inc backup left a partial set, restarting.
Last full backup date: Mon Sep 3 09:37:45 2018
No signatures found, switching to full backup.
Reading globbing filelist /home/mu/.config/exclude-b2.txt
RESTART: Volumes 67 to 68 failed to upload before termination.
Restarting backup at volume 67.
Restarting backup, but current encryption settings do not match original settings
호출은 다음과 같습니다.
PASSPHRASE=$passphrase \
duplicity \
--full-if-older-than 90D \
--exclude-filelist ~/.config/exclude-b2.txt \
--progress \
--gpg-options '--cipher-algo AES256' \
~/ \
b2://$b2_key_id:$b2_key@$b2_bucket
set -u
모든 변수가 설정되었습니다. 정의되지 않은 변수로 종료를 활성화하고 set -x
명령이 예상한 대로 작동하는지 확인했습니다.
온라인에서 모든 파일을 삭제하고 새로운 전체 백업으로 다시 시작할 수도 있지만 문제가 다시 발생하면 해결할 수 있도록 문제를 이해하고 싶습니다.
답변1
실패한 백업에 포함된 파일을 모두 삭제하지 않은 것 같습니다. 이제 삭제했으므로 백업이 정상으로 돌아왔습니다.