BackupPC-users

Re: [BackupPC-users] BackupPC Strange Errors

2009-08-11 16:12:43
Subject: Re: [BackupPC-users] BackupPC Strange Errors
From: Chris Robertson <crobertson AT gci DOT net>
To: "General list for user discussion, questions and support" <backuppc-users AT lists.sourceforge DOT net>
Date: Tue, 11 Aug 2009 12:06:42 -0800
Adam Goryachev wrote:
> I'm trying to backup a remote host which has recently had a lot of
> changes. Initially it kept getting read errors, but after manually (from
> the command line) re-running the full backup, it almost completed
> (continuing the partial each time). However, eventually the scheduled
> backup started in parallel with my manual backup, which screwed
> everything up resulting in the "new" directory being deleted and the
> backups folder still listing the backup as existing.
>
> Re-starting backups resulted in failures because backup #18 directory
> didn't exist, so it couldn't continue the backup which backuppc thought
> it should be able to do...
>
> Eventually I deleted the line from the backups file, and re-started a
> backup which managed to start fresh, and start downloading all the
> changes since the last backup #17. However, now it always gets to the
> same file and I get these errors:
>  create d 700   544/513           0 Documents and
> Settings/Administrator/Local Settings/Temp/TGFDBs
> Unable to read 992000 bytes from
> /var/lib/backuppc/pc/office/new//fcdrive/RStmp got=52736,
> seekPosn=37696000 (9728,256,10001,37748736,38331424)
> Unable to read 992000 bytes from
> /var/lib/backuppc/pc/office/new//fcdrive/RStmp got=52736,
> seekPosn=37696000 (9728,256,10001,37748736,38331424)
> Unable to read 992000 bytes from
> /var/lib/backuppc/pc/office/new//fcdrive/RStmp got=52736,
> seekPosn=37696000 (9728,256,10001,37748736,38331424)
> Unable to read 992000 bytes from
> /var/lib/backuppc/pc/office/new//fcdrive/RStmp got=52736,
> seekPosn=37696000 (9728,256,10001,37748736,38331424)
> Unable to read 992000 bytes from
> /var/lib/backuppc/pc/office/new//fcdrive/RStmp got=52736,
> seekPosn=37696000 (9728,256,10001,37748736,38331424)
> Unable to read 992000 bytes from
> /var/lib/backuppc/pc/office/new//fcdrive/RStmp got=52736,
> seekPosn=37696000 (9728,256,10001,37748736,38331424)
> Unable to read 992000 bytes from
> /var/lib/backuppc/pc/office/new//fcdrive/RStmp got=52736,
> seekPosn=37696000 (9728,256,10001,37748736,38331424)
> Unable to read 992000 bytes from
> /var/lib/backuppc/pc/office/new//fcdrive/RStmp got=52736,
> seekPosn=37696000 (9728,256,10001,37748736,38331424)
> Unable to read 992000 bytes from
> /var/lib/backuppc/pc/office/new//fcdrive/RStmp got=52736,
> seekPosn=37696000 (9728,256,10001,37748736,38331424)
> Unable to read 992000 bytes from
> /var/lib/backuppc/pc/office/new//fcdrive/RStmp got=52736,
> seekPosn=37696000 (9728,256,10001,37748736,38331424)
>
> I thought the RStmp file was used by backuppc when the file being backed
> up was too large to compress in memory or something like that...
>   

Right.  If I'm reading the source correctly, RStmp is used in the rsync 
transfer method if the file currently being backed up:

1) Exists in a previous backup (as a compressed pool file)
2) Has changed since that previous backup
and
3) is greater than 16MB in size.

In this case, the previously-backed-up-file that matches the 
currently-being-backed-up file is written to RStmp, so the matching 
sequence of blocks (in the old and new versions) can be read for the 
rsync transfer (it's not possible to perform seeks on the compressed file).

Again if I'm reading the source correctly, the error you are seeing 
indicates the attrib file for the file in question states that the 
file's uncompressed size is 38331424 bytes, but when uncompressed, the 
file is only 37748736 bytes long.  Here's a patch to make the error 
message describe the actual file from the previous backup (so you can 
better verify my findings):

--- lib/BackupPC/Xfer/RsyncFileIO.pm.chris      2008-12-15 
12:36:20.000000000 -0900
+++ lib/BackupPC/Xfer/RsyncFileIO.pm    2009-08-11 11:53:58.000000000 -0800
@@ -1049,7 +1049,7 @@
                my $got = sysread($fio->{rxInFd}, $data, $len);
                 if ( $got != $len ) {
                    my $inFileSize = -s $fio->{rxInName};
-                    $fio->log("Unable to read $len bytes from 
$fio->{rxInName}"
+                    $fio->log("Unable to read $len bytes from 
$attr->{fullPath}"
                             . " got=$got, seekPosn=$seekPosn"
                             . " ($i,$thisCnt,$fio->{rxBlkCnt},$inFileSize"
                            . ",$attr->{size})");

> Any suggestions or thoughts would be appreciated.
>
> Regards,
> Adam

Chris


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
BackupPC-users mailing list
BackupPC-users AT lists.sourceforge DOT net
List:    https://lists.sourceforge.net/lists/listinfo/backuppc-users
Wiki:    http://backuppc.wiki.sourceforge.net
Project: http://backuppc.sourceforge.net/

<Prev in Thread] Current Thread [Next in Thread>