← Back to team overview

duplicity-team team mailing list archive

Re: Introductions All Round

 

Michael Terry wrote:
> 2009/8/24 Rob Oakes <lyx-devel@xxxxxxxxxxx>:
>> How does does the process work?  Are newly detected files somehow added to
>> the underlying "full" backup?  Do the incremental snapshots exist in
>> independence, each containing only the data about how files have changed
>> relative to the full backup?  Or do the incremental backups exist as part of
>> a chain, where previous incremental snapshots are required to restore data
>> form a later time point?
> 
> Each incremental backup is really just a set of patches against the
> full backup, applied in sequence (as a chain).  If you delete a file,
> I believe it uses some metadata (puts an empty file in a toplevel
> 'deleted' directory in the incremental tarball).

That's exactly right.  As to the backup process, imagine a file as a
series of blocks:
    ABCDEFGHIJK
Each of these blocks can be represented with a signature:
    abcdefghijk
The process of backing up the file means that we look in our signatures
for the file and checking to see if any have changed.  In the case of
the full backup, all the signatures have all changed, so we store the
full file and the full set of signatures.  That part is quite simple.

Now for an incremental - imagine that only blocks D,G, and J were
changed.  Duplicity will make an incremental backup with blocks
   DGJ
and signatures
   dgj

Another incremental may modify blocks A and F and add L.  They are just
stored as part of the incremental.  As you can see, a long chain of
incremental backups gets fairly complicated to unwind, but that's just
what we do.

...Ken



References