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

Reply via email to