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@nongnu.org https://lists.nongnu.org/mailman/listinfo/rdiff-backup-users Wiki URL: http://rdiff-backup.solutionsfirst.com.au/index.php/RdiffBackupWiki