SearchFAQMemberlist Log in
Reply to topic Page 1 of 1
Practical error recovery in rdiff-backup?
Author Message
Post Practical error recovery in rdiff-backup? 
Hello,

I have a strange situation which might be the result either of a
rdiff-backup bug or file lossage from a server crash. The output below
is from rdiff-backup attempting to do a normal backup, in which it
regressed the previous unsuccessful one and tried again, only to bomb
out. This cycle is 100% repeatable.

The problem is that "/backup/services/www/cms/lang" really doesn't exist
in the destination repository, and I don't know if rdiff-backup deleted
it or it disappeared after a server crash. In any case, it seems to make
my repository unusable. Have I just lost all the backups?

Any ideas?

Any suggestions for a similar backup tool which is not so sensitive to
crashes? I would really appreciate something fsck-like which would in
effect nuke all corrupted data in the destination repository and allow
me to continue using it as-is. The "--check-destination-dir" option to
rdiff-backup apparently doesn't deal with any serious issues.

(this is rdiff-backup-1.2.8 and "/backup" is a NFS mount point)


Warning: expected /backup/services/www/cms/lang to be a directory but
found None instead.
This is probably caused by a bug in versions 1.0.0 and earlier.
Processing changed file www/cms/lang
Exception '('www', 'cms', 'lang')' raised of class '<type
'exceptions.KeyError'>':
File "/usr/local/lib/python2.6/site-packages/rdiff_backup/Main.py",
line 304, in error_check_Main
try: Main(arglist)
File "/usr/local/lib/python2.6/site-packages/rdiff_backup/Main.py",
line 324, in Main
take_action(rps)
File "/usr/local/lib/python2.6/site-packages/rdiff_backup/Main.py",
line 280, in take_action
elif action == "backup": Backup(rps[0], rps[1])
File "/usr/local/lib/python2.6/site-packages/rdiff_backup/Main.py",
line 343, in Backup
backup.Mirror_and_increment(rpin, rpout, incdir)
File "/usr/local/lib/python2.6/site-packages/rdiff_backup/backup.py",
line 51, in Mirror_and_increment
DestS.patch_and_increment(dest_rpath, source_diffiter, inc_rpath)
File "/usr/local/lib/python2.6/site-packages/rdiff_backup/backup.py",
line 243, in patch_and_increment
ITR(diff.index, diff)
File
"/usr/local/lib/python2.6/site-packages/rdiff_backup/rorpiter.py", line
280, in __call__
if last_branch.can_fast_process(*args):
File "/usr/local/lib/python2.6/site-packages/rdiff_backup/backup.py",
line 520, in can_fast_process
mirror_rorp = self.CCPP.get_mirror_rorp(index)
File "/usr/local/lib/python2.6/site-packages/rdiff_backup/backup.py",
line 471, in get_mirror_rorp
except KeyError: return self.get_parent_rorps(index)[1]
File "/usr/local/lib/python2.6/site-packages/rdiff_backup/backup.py",
line 453, in get_parent_rorps
raise KeyError(index)

Traceback (most recent call last):
File "/usr/local/bin/rdiff-backup", line 30, in <module>
rdiff_backup.Main.error_check_Main(sys.argv[1:])
File "/usr/local/lib/python2.6/site-packages/rdiff_backup/Main.py",
line 304, in error_check_Main
try: Main(arglist)
File "/usr/local/lib/python2.6/site-packages/rdiff_backup/Main.py",
line 324, in Main
take_action(rps)
File "/usr/local/lib/python2.6/site-packages/rdiff_backup/Main.py",
line 280, in take_action
elif action == "backup": Backup(rps[0], rps[1])
File "/usr/local/lib/python2.6/site-packages/rdiff_backup/Main.py",
line 343, in Backup
backup.Mirror_and_increment(rpin, rpout, incdir)
File "/usr/local/lib/python2.6/site-packages/rdiff_backup/backup.py",
line 51, in Mirror_and_increment
DestS.patch_and_increment(dest_rpath, source_diffiter, inc_rpath)
File "/usr/local/lib/python2.6/site-packages/rdiff_backup/backup.py",
line 243, in patch_and_increment
ITR(diff.index, diff)
File
"/usr/local/lib/python2.6/site-packages/rdiff_backup/rorpiter.py", line
280, in __call__
if last_branch.can_fast_process(*args):
File "/usr/local/lib/python2.6/site-packages/rdiff_backup/backup.py",
line 520, in can_fast_process
mirror_rorp = self.CCPP.get_mirror_rorp(index)
File "/usr/local/lib/python2.6/site-packages/rdiff_backup/backup.py",
line 471, in get_mirror_rorp
except KeyError: return self.get_parent_rorps(index)[1]
File "/usr/local/lib/python2.6/site-packages/rdiff_backup/backup.py",
line 453, in get_parent_rorps
raise KeyError(index)
KeyError: ('www', 'cms', 'lang')


_______________________________________________
rdiff-backup-users mailing list at rdiff-backup-users < at > nongnu.org
https://lists.nongnu.org/mailman/listinfo/rdiff-backup-users
Wiki URL: http://rdiff-backup.solutionsfirst.com.au/index.php/RdiffBackupWiki

Display posts from previous:
Reply to topic Page 1 of 1
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
  


Magic SEO URL for phpBB