|
From: | Kenneth Loafman |
Subject: | Re: [Duplicity-talk] Restore single file from incremental, retrieving full |
Date: | Fri, 6 Apr 2018 15:24:20 -0500 |
On 06/04/2018 11:52, Kenneth Loafman wrote:
We're looking at an edge case here without enough info. I have a thought.
The way duplicity finds which volume to search for the restore file is to look at the start path and ending path in the volume info in the manifest. So, if the test is something like:
full backup has only the file 'foo', the range in the manifest will be ['.'..'foo']
inc backup has only the file 'bar', the range in the manifest will be ['.'..'bar']
So, when a recovery is requested, duplicity will download the full volume because 'bar' is in the range. Hmmm, no 'bar' there, so it will download the inc volume, and there it is.
Does that match your test case and observations? If so, then duplicity is working correctly.
I think it does match my test case. Would you mind confirming with my (lightly edited) manifests? (I'm aware the hostnames differ - I've just been testing this out in Docker). The --file-to-restore was example.pdf.
duplicity-full.20180401T141800Z.manifest
---
Hostname 460110c45ce2
Localdir /data
Volume 1:
StartingPath .
EndingPath example.mkv 3186
Hash SHA1 c4bc29c33779e0369116008ba3b9e767435fa00e
Volume 2:
StartingPath example.mkv 3187
EndingPath example.mkv
Hash SHA1 034022e2f997c09010852d009e8c69b0f4ce12b2
Filelist 1
new example.mkv
duplicity-inc.20180401T141800Z.to.20180404T193845Z.manifest
---
Hostname 332d275ac92e
Localdir /data
Volume 1:
StartingPath .
EndingPath example4.log
Hash SHA1 40ed25b5c60c1112dd3d984767fdd64f67868d78
Filelist 5
new example.pdf
new example1.log
new example2.log
new example3.log
new example4.log
Can you explain a little more about why duplicity wouldn't look through all the manifests, find example.pdf absent from the full and present in the incremental for the first time, and not just download the incremental? I'm sure I'm just missing something in my understanding.
Thanks again,
Oli
[Prev in Thread] | Current Thread | [Next in Thread] |