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

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

[rdiff-backup-users] Question about restoration procedure


From: Pedro DeRose
Subject: [rdiff-backup-users] Question about restoration procedure
Date: Tue, 16 Sep 2008 11:19:25 -0500

Hi, all.

I'm trying to use rdiff-backup within a system, and have a question about the restoration procedure. Specifically, does rdiff-backup use the file statistics files during restoration? I've tried looking at the code, but as I don't speak python, I'm having trouble figuring it out. I think it does something substantially more than described in the file format document. The follow example illustrates why I think so:

Suppose I start with an empty directory "dir", then do the following (I'll use --current-time to make this reproduceable; each command moves time forward one day):

   # rdiff-backup --current-time 1 dir backup
   # echo "a" > dir/a
   # rdiff-backup --current-time 86400 dir backup
   # echo "b" > dir/b
   # rdiff-backup --current-time 172800 dir backup
   # rm dir/a
   # rdiff-backup --current-time 259200 dir backup

For my timezone, the backups occurr on days 1969-12-31, 1970-01-01, 1970-01-02, and 1970-01-03, as shown by rdiff-backup -l backup:
   Found 3 increments:
       increments.1969-12-31T18:00:01-06:00.dir   Wed Dec 31 18:00:01 1969
       increments.1970-01-01T18:00:00-06:00.dir   Thu Jan  1 18:00:00 1970
       increments.1970-01-02T18:00:00-06:00.dir   Fri Jan  2 18:00:00 1970
   Current mirror: Sat Jan  3 18:00:00 1970

Meanwhile, these are the increments for dir/a, gotten with rdiff-backup -l backup/a:
   Found 2 increments:
       a.1969-12-31T18:00:01-06:00.missing   Wed Dec 31 18:00:01 1969
       a.1970-01-02T18:00:00-06:00.snapshot.gz   Fri Jan  2 18:00:00 1970
   Current mirror: Sat Jan  3 18:00:00 1970

Now, according to the file format document, restoring dir/a is based entirely on the mirror and increments for backup/a. However, running
   # rdiff-backup --list-at-time 1970-01-01T17:00:00-06:00' backup/a

returns nothing, meaning the file doesn't exist, while

   # rdiff-backup --list-at-time 1970-01-01T18:00:00-06:00' backup/a

returns "backup/a", meaning the file exists.

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?

Any help at all would be greatly appreciated!

Thanks in advance.

Pedro

reply via email to

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