Re: How to determine which difftar file contains a particular backed up file?

Thomas Laubrock via Duplicity-talk <[email protected]> Sat, 16 Aug 2025 12:30:17 +0200
Newsgroups gmane.comp.sysutils.backup.duplicity.general
Message-ID <[email protected]>
--===============4118496450700614361==
Content-Type: multipart/alternative;
 boundary=----2VNKFO5PPKSJXP2YHEK70JLM8GEUFK
Content-Transfer-Encoding: 7bit

------2VNKFO5PPKSJXP2YHEK70JLM8GEUFK
Content-Type: text/plain;
 charset=utf-8
Content-Transfer-Encoding: quoted-printable

Hi,

Maybe worth to give it a try=2E I don't think duplicity will validate the =
content of volumes that don't contain data of the file to restore=2E=20
Keep in mind that duplicity is backend agnostic=2E E=2Eg=2E you can downlo=
ad the relevant file to a local folder and fill it with dummy volume files =
and check when it is failing, then replace volumes for S3 if needed=2E

Bye
 Thomas



On 16 August 2025 12:05:21 CEST, "Henry S=2E Thompson via Duplicity-talk" =
<duplicity-talk@nongnu=2Eorg> wrote:
>Thomas Laubrock via Duplicity-talk writes:
>
>> the easiest way would be to take a look into the caching dir and grep
>> for the file in the =2Emanifest files=2E If you take a deeper look into
>> the file, you should find the volume number(s) which include the files=
=2E
>
>Right, and indeed I realised overnight that I should have been looking
>more carefully instead of just grepping for the files I needed=2E  So I
>have identified the relevant volume =2Etar=2Egz from the last full backup
>that has the files I need=2E
>
>> There is another thing, that could make it more complicate to get all
>> the volumes in place=2E If the file was changed several times and
>> duplicity has only stored the changes in the newest inc backup, you
>> need also the older one to allow a recreation=2E
>
>Indeed, I had also realised that looking at the incremental backups
>was probably not worth it, as trying to re-implement the traceback
>from one to the next would be =2E=2E=2E stupid=2E
>
>> =2E=2E=2E
>
>> I am unsure if it is easy to trick duplicity to restore with access to
>> specific volumes only, so keep us updated if you found a nice way to
>> get to your file without paying AWS too much for glacier restore=2E
>
>I will see if restoring access to just one full-backup volume is
>enough, and report back=2E
>
>Thanks again,
>
>ht
>--=20
>Henry S=2E Thompson
>
>_______________________________________________
>Duplicity-talk mailing list
>Duplicity-talk@nongnu=2Eorg
>https://lists=2Enongnu=2Eorg/mailman/listinfo/duplicity-talk

------2VNKFO5PPKSJXP2YHEK70JLM8GEUFK
Content-Type: text/html;
 charset=utf-8
Content-Transfer-Encoding: quoted-printable

<html><head></head><body><div dir=3D"auto">Hi,<br><br>Maybe worth to give i=
t a try=2E I don't think duplicity will validate the content of volumes tha=
t don't contain data of the file to restore=2E <br>Keep in mind that duplic=
ity is backend agnostic=2E E=2Eg=2E you can download the relevant file to a=
 local folder and fill it with dummy volume files and check when it is fail=
ing, then replace volumes for S3 if needed=2E<br><br>Bye<br> Thomas<br><br>=
</div><br><br><div class=3D"gmail_quote"><div dir=3D"auto">On 16 August 202=
5 12:05:21 CEST, "Henry S=2E Thompson via Duplicity-talk" &lt;duplicity-tal=
k@nongnu=2Eorg&gt; wrote:</div><blockquote class=3D"gmail_quote" style=3D"m=
argin: 0pt 0pt 0pt 0=2E8ex; border-left: 1px solid rgb(204, 204, 204); padd=
ing-left: 1ex;">
<pre class=3D"k9mail"><div dir=3D"auto">Thomas Laubrock via Duplicity-talk=
 writes:<br><br></div><blockquote class=3D"gmail_quote" style=3D"margin: 0p=
t 0pt 1ex 0=2E8ex; border-left: 1px solid #729fcf; padding-left: 1ex;"><div=
 dir=3D"auto">the easiest way would be to take a look into the caching dir =
and grep<br>for the file in the =2Emanifest files=2E If you take a deeper l=
ook into<br>the file, you should find the volume number(s) which include th=
e files=2E<br></div></blockquote><div dir=3D"auto"><br>Right, and indeed I =
realised overnight that I should have been looking<br>more carefully instea=
d of just grepping for the files I needed=2E  So I<br>have identified the r=
elevant volume =2Etar=2Egz from the last full backup<br>that has the files =
I need=2E<br><br></div><blockquote class=3D"gmail_quote" style=3D"margin: 0=
pt 0pt 1ex 0=2E8ex; border-left: 1px solid #729fcf; padding-left: 1ex;"><di=
v dir=3D"auto">There is another thing, that could make it more complicate t=
o get all<br>the volumes in place=2E If the file was changed several times =
and<br>duplicity has only stored the changes in the newest inc backup, you<=
br>need also the older one to allow a recreation=2E<br></div></blockquote><=
div dir=3D"auto"><br>Indeed, I had also realised that looking at the increm=
ental backups<br>was probably not worth it, as trying to re-implement the t=
raceback<br>from one to the next would be =2E=2E=2E stupid=2E<br><br></div>=
<blockquote class=3D"gmail_quote" style=3D"margin: 0pt 0pt 1ex 0=2E8ex; bor=
der-left: 1px solid #729fcf; padding-left: 1ex;"><div dir=3D"auto">=2E=2E=
=2E<br></div></blockquote><div dir=3D"auto"><br></div><blockquote class=3D"=
gmail_quote" style=3D"margin: 0pt 0pt 1ex 0=2E8ex; border-left: 1px solid #=
729fcf; padding-left: 1ex;"><div dir=3D"auto">I am unsure if it is easy to =
trick duplicity to restore with access to<br>specific volumes only, so keep=
 us updated if you found a nice way to<br>get to your file without paying A=
WS too much for glacier restore=2E<br></div></blockquote><div dir=3D"auto">=
<br>I will see if restoring access to just one full-backup volume is<br>eno=
ugh, and report back=2E<br><br>Thanks again,<br><br>ht<br></div></pre></blo=
ckquote></div></body></html>
------2VNKFO5PPKSJXP2YHEK70JLM8GEUFK--


--===============4118496450700614361==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KRHVwbGljaXR5
LXRhbGsgbWFpbGluZyBsaXN0CkR1cGxpY2l0eS10YWxrQG5vbmdudS5vcmcKaHR0cHM6Ly9saXN0
cy5ub25nbnUub3JnL21haWxtYW4vbGlzdGluZm8vZHVwbGljaXR5LXRhbGsK

--===============4118496450700614361==--