Backup-Restoration

重複“CollectionsError:未找到備份鏈”

  • May 13, 2019

我正在使用 duplicity 0.7.06 進行備份,使用 0.7.17 來恢復 duplicity 備份。但是在嘗試從中還原目錄時出現錯誤“未找到備份鏈”。

我不確定那個錯誤意味著什麼。

備份是這樣進行的(並且沒有錯誤):

duplicity --no-encryption --full-if-older-than 10D /path/to/dir s3+http://my-s3-bucket/duplicity/dir

如果我列出它們,我可以看到重複檔案:

~$ s3cmd ls s3://my-s3-bucket/duplicity/dir/
2019-05-12 15:51     19505   s3://my-s3-bucket/duplicity/dir/duplicity-full-signatures.20190512T155147Z.sigtar.gz
2019-05-12 15:51       724   s3://my-s3-bucket/duplicity/dir/duplicity-full.20190512T155147Z.manifest
2019-05-12 15:51    728333   s3://my-s3-bucket/duplicity/dir/duplicity-full.20190512T155147Z.vol1.difftar.gz

我正在嘗試像這樣恢復它:

duplicity --file-to-restore path/to/dir s3+http://my-s3-bucket/duplicity /home/restored/dir

我得到的錯誤是:

duplicity 0.7.17 (February 26, 2018)
Args: /usr/bin/duplicity --file-to-restore path/to/dir s3+http://my-s3-bucket/duplicity /home/restored/dir
Linux machinename 4.15.0-48-generic #51-Ubuntu SMP Wed Apr 3 08:28:49 UTC 2019 x86_64 x86_64
/usr/bin/python2 2.7.15rc1 (default, Nov 12 2018, 14:31:15) 
[GCC 7.3.0]
================================================================================
Using temporary directory /tmp/duplicity-Zu29z3-tempdir
Temp has 30699757568 available, backup will use approx 272629760.
Local and Remote metadata are synchronized, no sync needed.
Last full backup date: none
Traceback (innermost last):
 File "/usr/bin/duplicity", line 1555, in <module>
   with_tempdir(main)
 File "/usr/bin/duplicity", line 1541, in with_tempdir
   fn()
 File "/usr/bin/duplicity", line 1393, in main
   do_backup(action)
 File "/usr/bin/duplicity", line 1472, in do_backup
   restore(col_stats)
 File "/usr/bin/duplicity", line 728, in restore
   restore_get_patched_rop_iter(col_stats)):
 File "/usr/bin/duplicity", line 750, in restore_get_patched_rop_iter
   backup_chain = col_stats.get_backup_chain_at_time(time)
 File "/usr/lib/python2.7/dist-packages/duplicity/collections.py", line 974, in get_backup_chain_at_time
   raise CollectionsError("No backup chains found")
CollectionsError: No backup chains found

根據 ede 的回答中的線索,我修改了我的恢復行,將我想要恢復的目錄的名稱添加到 s3:// url 的末尾:

s3+ http://my-s3-bucket/duplicity/dir /home/restored

然後它找到了備份鏈,但說它在其中找不到“dir”。

然後我嘗試刪除--file-to-restore開關以使命令如下:

duplicity --no-encryption s3+http://my-s3-bucket/duplicity/dir /home/restored/dir

這行得通。


順便說一句,即使我已經閱讀了手冊頁並查看了一些範例,我發現很難想出一種方法來記住如何正確地從重複存檔中恢復文件。如果有人有一種簡潔的方式來解釋與文件路徑和鏈相關的重複性如何工作,我將不勝感激。

你從上面的恢復命令

duplicity --file-to-restore path/to/dir s3+http://my-s3-bucket/duplicity /home/restored/dir

在 s3:// url 的末尾缺少**“/dir” 。如果添加後找不到您的備份,我建議加入重複郵件列表**並將其發佈在那裡,以便我們可以嘗試更詳細地找到您的問題。

..ede / duply.net

引用自:https://serverfault.com/questions/966933