On 29 May 2014 17:14, Thomas Witzel <[email protected]> wrote: > > Hello, > > I hope this is not duplicate from a previous issue, but I couldn't find my > exact scenario. > > I'm using rdiff-backup 1.2.8 on an unbuntu machine and everything is working > great except that for one of my nightly backups 43 of 9101 files are always > missing. If there was no changes my statistics looks like this: > > > StartTime 1401379711.00 (Thu May 29 12:08:31 2014) > EndTime 1401379724.83 (Thu May 29 12:08:44 2014) > ElapsedTime 13.83 (13.83 seconds) > SourceFiles 9101 > SourceFileSize 335423184 (320 MB) > MirrorFiles 9101 > MirrorFileSize 335423184 (320 MB) > NewFiles 0 > NewFileSize 0 (0 bytes) > DeletedFiles 0 > DeletedFileSize 0 (0 bytes) > ChangedFiles 43 > ChangedSourceSize 0 (0 bytes) > ChangedMirrorSize 0 (0 bytes) > IncrementFiles 43 > IncrementFileSize 0 (0 bytes) > TotalDestinationSizeChange 0 (0 bytes) > Errors 0 > > So there is always 43 IncrementFiles, but those files are missing from the > backup and for those 43 files I get messages lile this: > > UpdateError xxx.txt Updated mirror temp file /xxxx/rdiff-backup.tmp.77 does > not match source > > I have no idea what mismatch this is referring too. I can manually copy the > source to rdiff-backup.tmp.77 and with no tools at my disposal can I find a > difference. I also can't see whats different about those 43 files from the > other 9000, they are all very similar with similar names. Of the 43 affected > files the most recent change occured 9 months ago in one of them, so its not > that they changed during the backup. How do I go about debugging this ? > > Thank you, > Thomas Witzel
Hi Thomas, Try temporarily applying the attached patch and running rdiff-backup with -v 7 or greater. It will log why rdiff-backup decided the file changed during the backup. Thanks, Mike
From 72572a368a594e7a0efc145a0f5359502d2df9fb Mon Sep 17 00:00:00 2001 From: Mike Fleetwood <[email protected]> Date: Sun, 4 May 2014 14:56:21 +0100 Subject: [PATCH] DEBUG: Log causes of Updated mirror temp file ... does not match Turn on verbosity >= 7 to see. --- rdiff_backup/rpath.py | 13 ++++++++++--- 1 files changed, 10 insertions(+), 3 deletions(-) diff --git a/rdiff_backup/rpath.py b/rdiff_backup/rpath.py index a22fb9f..3dc9f81 100644 --- a/rdiff_backup/rpath.py +++ b/rdiff_backup/rpath.py @@ -484,17 +484,24 @@ class RORPath: pass elif key == 'sha1': pass # one or other may not have set elif key == 'mirrorname' or key == 'incname': pass - elif (not other.data.has_key(key) or - self.data[key] != other.data[key]): + elif not other.data.has_key(key): + log.Log("Loose compare %s to %s: second has no attribute: %s" % (self.index, other.index, repr(key)), 7) + return 0 + elif self.data[key] != other.data[key]: + log.Log("Loose compare %s to %s: attribute differs: first.data[%s]=%s != second.data[%s]=%s" % (self.index, other.index, repr(key), repr(self.data[key]), repr(key), repr(other.data[key])), 7) return 0 if self.lstat() and not self.issym() and Globals.change_ownership: # Now compare ownership. Symlinks don't have ownership try: - if user_group.map_rpath(self) != other.getuidgid(): return 0 + if user_group.map_rpath(self) != other.getuidgid(): + log.Log("Loose compare %s to %s: user group mismatch: user_group.map_rpath(first)=%s != second.getuidgid()=%s" % (self.index, other.index, repr(user_group.map_rpath(self)), repr(other.getuidgid())), 7) + return 0 except KeyError: + log.Log("Loose compare %s to %s: KeyError exception testing user group match" % (self.index, other.index), 7) return 0 # uid/gid might be missing if metadata file is corrupt + log.Log("Loose compare %s to %s: OK" % (self.index, other.index), 7) return 1 def equal_verbose(self, other, check_index = 1, -- 1.7.1
_______________________________________________ rdiff-backup-users mailing list at [email protected] https://lists.nongnu.org/mailman/listinfo/rdiff-backup-users Wiki URL: http://rdiff-backup.solutionsfirst.com.au/index.php/RdiffBackupWiki
