Hi, all.
Apologies if this is a repeat; I tried sending it before joining the list, but never saw it in the archives.
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