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

[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')




reply via email to

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