Re: [rdiff-backup-users] rdiff-backup --verify 1.2.8 running around in circles
On 20/02/2011 20:51, Marc Haber wrote: On Sun, Feb 20, 2011 at 06:11:19PM +, Dominic Raferd wrote: first step, unless the most recent backup is critical to you, is to try regressing the repository to get it back to a clean state, with the --check-destination-dir switch Fatal Error: Destination dir scyw00225 does not need checking If this refuses to regress, claiming that there is no corruption, I have a bash script which can 'force' a regression. You can repeat this as many times as necessary to get past (hopefully) the original corruption. So it'll be a force regression, try --verify, until --verify runs through, losing one full, probably uncorrupted increment per iteration? Exactly. Best to take a backup of the repository before trying it. Dominic ___ rdiff-backup-users mailing list at rdiff-backup-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/rdiff-backup-users Wiki URL: http://rdiff-backup.solutionsfirst.com.au/index.php/RdiffBackupWiki
[rdiff-backup-users] rdiff-backup --verify 1.2.8 running around in circles
Hi, I have an rdiff-backup directory that was corrupted by a file system crash. As I don't want to lose the backup, I tried rdiff-backup -v9 --verify on the repository. But already after a few seconds of running, output stops at: Sun Feb 20 08:28:51 2011 Verified SHA1 digest of etc/kde4/kdm/backgroundrc Sun Feb 20 08:28:51 2011 Verified SHA1 digest of etc/kde4/kdm/kdm.options Sun Feb 20 08:28:51 2011 Verified SHA1 digest of etc/kde4/kdm/kdmrc Sun Feb 20 08:28:51 2011 Verified SHA1 digest of etc/kde4/kdm/kdmrc.dpkg-old Sun Feb 20 08:28:51 2011 Verified SHA1 digest of etc/kde4/khotnewstuff.knsrc Sun Feb 20 08:28:51 2011 Verified SHA1 digest of etc/kde4/kshorturifilterrc Sun Feb 20 08:28:51 2011 Verified SHA1 digest of etc/kernel/postinst.d/initrSun Feb 20 08:28:51 2011 Warning: Could not restore file etc/kernel/postinst.d/initramfs-tools! A regular file was indicated by the metadata, but could not be constructed from existing increments because last increment had type None. Instead of the actual file's data, an empty length file will be created. This error is probably caused by data loss in the rdiff-backup destination directory, or a bug in rdiff-backup Sun Feb 20 08:28:51 2011 Warning: Computed SHA1 digest of etc/kernel/postinst.d/initramfs-tools da39a3ee5e6b4b0d3255bfef95601890afd80709 doesn't match recorded digest of e69689ccfb34f74c4ba64d1f1e842df083020b31 Your backup repository may be corrupted! and rdiff-backup starts taking 100 % CPU and stopped accessing the disk. This was not the first case of an increment of type None being found and flagged as such. From a cursory look at an strace output, rdiff-backup seems to be running around in the following loop: getdents(4, /* 5 entries */, 32768) = 152 getdents(4, /* 0 entries */, 32768) = 0 close(4)= 0 lstat(/mnt/2t/var/local/manualbackups/rdiffbackup/swivel/swivel/etc/kernel/postinst.d/initramfs, {st_mode=S_IFREG|0755, st_size=612, ...}) = 0 open(/mnt/2t/var/local/manualbackups/rdiffbackup/swivel/swivel/rdiff-backup-data/increments/etc/kernel/postinst.d, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC)= 4 getdents(4, /* 7 entries */, 32768) = 392 getdents(4, /* 0 entries */, 32768) = 0 close(4)= 0 lstat(/mnt/2t/var/local/manualbackups/rdiffbackup/swivel/swivel/rdiff-backup-data/increments/etc/kernel/postinst.d/initramfs-tools.2009-02-23T22:12:47+01:00.missing, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0 lstat(/mnt/2t/var/local/manualbackups/rdiffbackup/swivel/swivel/rdiff-backup-data/increments/etc/kernel/postinst.d/initramfs-tools, 0x7fff767d1d70) = -1 ENOENT (No such file or directory) lstat(/mnt/2t/var/local/manualbackups/rdiffbackup/swivel/swivel/rdiff-backup-data/increments/etc/kernel/postinst.d/initramfs-tools.2010-03-31T00:15:24+02:00.diff.gz, {st_mode=S_IFREG|0755, st_size=283, ...}) = 0 lstat(/mnt/2t/var/local/manualbackups/rdiffbackup/swivel/swivel/rdiff-backup-data/increments/etc/kernel/postinst.d/initramfs-tools, 0x7fff767d1d70) = -1 ENOENT (No such file or directory) lstat(/mnt/2t/var/local/manualbackups/rdiffbackup/swivel/swivel/rdiff-backup-data/increments/etc/kernel/postinst.d/initramfs.2009-06-07T22:46:22+02:00.missing, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0 lstat(/mnt/2t/var/local/manualbackups/rdiffbackup/swivel/swivel/rdiff-backup-data/increments/etc/kernel/postinst.d/initramfs, x7fff767d1d70) = -1 ENOENT (Nosuch file or directory) lstat(/mnt/2t/var/local/manualbackups/rdiffbackup/swivel/swivel/rdiff-backup-data/increments/etc/kernel/postinst.d/pm-utils.2009-11-15T08:54:51+01:00.missing, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0 lstat(/mnt/2t/var/local/manualbackups/rdiffbackup/swivel/swivel/rdiff-backup-data/increments/etc/kernel/postinst.d/pm-utils, 0x7fff767d1d70) = -1 ENOENT (No such file or directory) lstat(/mnt/2t/var/local/manualbackups/rdiffbackup/swivel/swivel/rdiff-backup-data/increments/etc/kernel/postinst.d/zg2-kernel-image.2009-12-05T21:38:11+01:00.missing, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0 lstat(/mnt/2t/var/local/manualbackups/rdiffbackup/swivel/swivel/rdiff-backup-data/increments/etc/kernel/postinst.d/zg2-kernel-image, 0x7fff767d1d70) = -1 ENOENT (No such file or directory) lstat(/mnt/2t/var/local/manualbackups/rdiffbackup/swivel/swivel/rdiff-backup-data/increments/etc/kernel/postinst.d/initramfs, 0x7fff767d2260) = -1 ENOENT (No such file or directory) lstat(/mnt/2t/var/local/manualbackups/rdiffbackup/swivel/swivel/rdiff-backup-data/increments/etc/kernel/postinst.d/initramfs.2009-06-07T22:46:22+02:00.missing, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0 lstat(/mnt/2t/var/local/manualbackups/rdiffbackup/swivel/swivel/etc/kernel/postinst.d/pm-utils, {st_mode=S_IFREG|0755, st_size=196, ...}) = 0 lstat(/mnt/2t/var/local/manualbackups/rdiffbackup/swivel/swivel/rdiff-backup-data/increments/etc/kernel/postinst.d/initramfs-tools, 0x7fff767d2260) = -1 ENOENT (No such file or directory)
Re: [rdiff-backup-users] rdiff-backup --verify 1.2.8 running around in circles
Marc: I can't help with the python. But first step, unless the most recent backup is critical to you, is to try regressing the repository to get it back to a clean state, with the --check-destination-dir switch. If this refuses to regress, claiming that there is no corruption, I have a bash script which can 'force' a regression. You can repeat this as many times as necessary to get past (hopefully) the original corruption. Secondly, rdiff-backup --verify switch gives only a partial verification of the repository. Daniel Miller wrote a patch, available for rdiff-backup 1.2.8, which adds --verify-full and --verify-full-at-time switches which can perform a full verification of a repository. I use this patched version in TimeDicer Server for this purpose only in preference to the standard rdiff-backup program. Dominic Http://www.timedicer.co.uk On 20/02/11 12:23, Marc Haber wrote: Hi, I have an rdiff-backup directory that was corrupted by a file system crash. As I don't want to lose the backup, I tried rdiff-backup -v9 --verify on the repository. But already after a few seconds of running, output stops at: Sun Feb 20 08:28:51 2011 Verified SHA1 digest of etc/kde4/kdm/backgroundrc Sun Feb 20 08:28:51 2011 Verified SHA1 digest of etc/kde4/kdm/kdm.options Sun Feb 20 08:28:51 2011 Verified SHA1 digest of etc/kde4/kdm/kdmrc Sun Feb 20 08:28:51 2011 Verified SHA1 digest of etc/kde4/kdm/kdmrc.dpkg-old Sun Feb 20 08:28:51 2011 Verified SHA1 digest of etc/kde4/khotnewstuff.knsrc Sun Feb 20 08:28:51 2011 Verified SHA1 digest of etc/kde4/kshorturifilterrc Sun Feb 20 08:28:51 2011 Verified SHA1 digest of etc/kernel/postinst.d/initrSun Feb 20 08:28:51 2011 Warning: Could not restore file etc/kernel/postinst.d/initramfs-tools! A regular file was indicated by the metadata, but could not be constructed from existing increments because last increment had type None. Instead of the actual file's data, an empty length file will be created. This error is probably caused by data loss in the rdiff-backup destination directory, or a bug in rdiff-backup Sun Feb 20 08:28:51 2011 Warning: Computed SHA1 digest of etc/kernel/postinst.d/initramfs-tools da39a3ee5e6b4b0d3255bfef95601890afd80709 doesn't match recorded digest of e69689ccfb34f74c4ba64d1f1e842df083020b31 Your backup repository may be corrupted! and rdiff-backup starts taking 100 % CPU and stopped accessing the disk. This was not the first case of an increment of type None being found and flagged as such. From a cursory look at an strace output, rdiff-backup seems to be running around in the following loop... ___ rdiff-backup-users mailing list at rdiff-backup-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/rdiff-backup-users Wiki URL: http://rdiff-backup.solutionsfirst.com.au/index.php/RdiffBackupWiki
Re: [rdiff-backup-users] rdiff-backup --verify 1.2.8 running around in circles
On Sun, Feb 20, 2011 at 06:11:19PM +, Dominic Raferd wrote: I can't help with the python. But first step, unless the most recent backup is critical to you, is to try regressing the repository to get it back to a clean state, with the --check-destination-dir switch Fatal Error: Destination dir scyw00225 does not need checking If this refuses to regress, claiming that there is no corruption, I have a bash script which can 'force' a regression. You can repeat this as many times as necessary to get past (hopefully) the original corruption. So it'll be a force regression, try --verify, until --verify runs through, losing one full, probably uncorrupted increment per iteration? Secondly, rdiff-backup --verify switch gives only a partial verification of the repository. Daniel Miller wrote a patch, available for rdiff-backup 1.2.8, which adds --verify-full and --verify-full-at-time switches which can perform a full verification of a repository. Debian's version does not seem to be patched. What does --verify omit? Greetings Marc -- - Marc Haber | I don't trust Computers. They | Mailadresse im Header Mannheim, Germany | lose things.Winona Ryder | Fon: *49 621 72739834 Nordisch by Nature | How to make an American Quilt | Fax: *49 3221 2323190 ___ rdiff-backup-users mailing list at rdiff-backup-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/rdiff-backup-users Wiki URL: http://rdiff-backup.solutionsfirst.com.au/index.php/RdiffBackupWiki