rdiff-backup-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [rdiff-backup-users] Question about restoration procedure


From: Andrew Ferguson
Subject: Re: [rdiff-backup-users] Question about restoration procedure
Date: Mon, 29 Sep 2008 16:04:46 -0400

On Sep 16, 2008, at 12:19 PM, Pedro DeRose wrote:
So if restoration is based entirely on increments, how does rdiff- backup know backup/a was created on 1970-01-01 when there's no increment for that date? I've looked at the files in rdiff-backup- data, and the only thing I can find that ties backup/a to 1970-01-01 is the files statistics. Does restoration use that to find out when files are created? If not, what does it do?

Hi Pedro,

Sorry for taking so long to answer your question.

Rdiff-backup uses the mirror_metadata files as a history of the repository. The mirror_metadata file for 1970-01-01 contains an entry for backup/a, which is how rdiff-backup knows when files are created. The mirror_metadata file is the key to rdiff-backup's process: it stores all the the information about all files in the repository, and is how rdiff-backup is able to preserve FS-defined metadata (eg, HFS+ resource forks, permissions, etc.) across platforms and users.

When asked to restore a time T, rdiff-backup first determines how the mirror_metadata (MM) file looked at that time. To do this, it first first checks if there is a 'snapshot' of the MM at time T. A snapshot is a complete dump of the mirror_metadata at that time (all non-zero snapshots and diffs are gzip'd to conserve space, although this is configurable). If there is not a snapshot at time T, then it finds the earliest snapshot in the range (T, now]. There is always a snapshot at the most recent backup. After finding the earliest snapshot, it applies the reverse-diff files which bring the MM file from that time back to time T. Rdiff-backup stores a new snapshot after every 10 increments, both as a disaster prevention and to try and limit the amount of time needed to restore very old increments.

The file_statistics file is mostly for the curious user and can be read by other programs. At the moment, rdiff-backup does nothing with it except write it. This behavior can be disabled with the --no-file- statistics option.

You may also wish to read the dated, but still applicable, page 'rdiff- backup file format' -- http://www.nongnu.org/rdiff-backup/ format.html It has a useful overview, but does not go into all details.


best,
Andrew




reply via email to

[Prev in Thread] Current Thread [Next in Thread]