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

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

Re: [rdiff-backup-users] unable to recover from interrupted backup


From: Dominic Raferd
Subject: Re: [rdiff-backup-users] unable to recover from interrupted backup
Date: Tue, 25 Aug 2009 15:15:21 +0100
User-agent: Thunderbird 2.0.0.23 (Windows/20090812)

Ben Tucker wrote:
I had a machine fail in the midst of backing up a couple weeks ago and
ever since I have been unable to get it to successfully backup.
rdiff-backup --check-destination-dir runs without error, but then
running the actual backup command results in an exception.  I'm
running 1.2.8 stock deb install on Ubuntu jaunty.  The client machine
is also running 1.2.8 (also ubuntu).  These are the only versions of
rdiff-backup with have been used.  I'd greatly appreciate any pointers
on how to resolve this.  Thanks!
Did you get this sorted? It sounds an alarming problem for any of us who have important repositories of data going back over a long period; the whole thing could get trashed by one failed backup!

I give below a way (posted here by Steven a few weeks ago) to force a regression. This might undo the 'bad' backup(s) that you have and then allow you to make further backups. I haven't had the need to try it but it might help you:

Dominic
----------------
While rdiff-backup is making a backup it creates a new "current_mirror.$timestamp.data" file in the rdiff-backup-data destination directory. Once it's done making the backup, it deletes the old current_mirror file. In other words, while the backup is running there are two current_mirror files. In order to undo a backup, you'll need to to create a fake current_mirror file with the timestamp of the previous backup and run "rdiff-backup -v6 --check-destination-dir $dest". rdiff-backup will be fooled into thinking the latest backup failed and revert it.

I do not know of a way to regress more than one backup at once, but this method should work multiple times.

P.S. A full example in case my description isn't clear:

$ mkdir source

$ echo 1 > source/a

$ echo 2 > source/b

$ rdiff-backup source dest

$ ls dest
a  b  rdiff-backup-data

$ rm source/a

$ rdiff-backup source dest

$ ls dest
b  rdiff-backup-data

$ ls dest/rdiff-backup-data/mirror*
dest/rdiff-backup-data/mirror_metadata.2009-07-03T18:47:33-06:00.diff.gz
dest/rdiff-backup-data/mirror_metadata.2009-07-03T18:48:12-06:00.snapshot.gz

$ echo PID 999999 > \
dest/rdiff-backup-data/current_mirror.2009-07-03T18:47:33-06:00.diff.gz

$ rdiff-backup -v6 --check-destination-dir dest
Using rdiff-backup version 1.2.7
... snip ...
Regressing to Fri Jul  3 18:47:33 2009
... snip ...
Regressing file a
... snip ...
Cleaning up

$ ls dest
a  b  rdiff-backup-data





reply via email to

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