[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[rdiff-backup-users] Practical error recovery in rdiff-backup?
From: |
Ivan Voras |
Subject: |
[rdiff-backup-users] Practical error recovery in rdiff-backup? |
Date: |
Tue, 13 Sep 2011 11:57:03 +0200 |
User-agent: |
Mozilla/5.0 (X11; FreeBSD amd64; rv:6.0.1) Gecko/20110907 Thunderbird/6.0.1 |
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')
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [rdiff-backup-users] Practical error recovery in rdiff-backup?,
Ivan Voras <=