Ok, I finally found and tracked down my problem.

I'm using BackupPC on Ubuntu 7.10, which installs BackupPC 3.0.0. Turns out, changing the TopDir location does NOT change the location of the pool files - they are hardcoded to live in /var/lib/backuppc.

According to here:
http://backuppc.wiki.sourceforge.net/change+archive+directory
The solution is as follows:

"The archive directory is defined by $TopDir in config.pl. Unfortunately, the current version honors this value for host data, but the pool directories continue to use the default path that is hard- coded at install time. For now, in addition to changing config.pl, you will also need to edit lib/BackupPC/Lib.pm, and change the value in $topDir='/path...'."

Changing this file to point to my desired backuppc home dir solved the link problems, and my backups now run error-free.

Thanks for all the help!

-- Kimball

On Feb 27, 2008, at 3:13 PM, Kimball Larsen wrote:

Ok, I freely admit that I'm in over my head here... I am NOT a perl programmer. However, here is the method that is puking when trying to create the links:

sub MakeFileLink
{
    my($bpc, $name, $d, $newFile, $compress) = @_;
    my($i, $rawFile);

    return -1 if ( !-f $name );
    for ( $i = -1 ; ; $i++ ) {
return -2 if ( !defined($rawFile = $bpc->MD52Path($d, $compress)) );
        $rawFile .= "_$i" if ( $i >= 0 );
        if ( -f $rawFile ) {
            if ( (stat(_))[3] < $bpc->{Conf}{HardLinkMax}
                    && !compare($name, $rawFile) ) {
                unlink($name);
                return -3 if ( !link($rawFile, $name) );
                return 1;
            }
        } elsif ( $newFile && -f $name && (stat($name))[3] == 1 ) {
            my($newDir);
            ($newDir = $rawFile) =~ s{(.*)/.*}{$1};
            mkpath($newDir, 0, 0777) if ( !-d $newDir );
            return -4 if ( !link($name, $rawFile) );
            return 2;
        } else {
            return 0;
        }
    }
}


The line:

return -4 if ( !link($name, $rawFile) );

is where the problem occurs. How do I get the contents of $name or $rawFile to spit out into the log so I can see for sure where it is trying to link to/from?

I'd like to try manually creating the link as Les suggested as the backuppc user, but I'm unsure what to pass to ln in the shell.

Here, again, is the error from my log:

2008-02-27 15:03:50 BackupPC_link got error -4 when calling MakeFileLink(/mnt/plump/backuppc/pc/192.168.0.8/6/f%2fUsers%2fkathy/ attrib, 3a473beda0c8d3677d88cd783aa4cc68, 1)

I'm just unsure how to take the parameters that are passed to MakeFleLink and convert them into whatever is passed to the link call later.

Thanks!

-- Kimball


On Feb 27, 2008, at 2:48 PM, Les Mikesell wrote:

Kimball Larsen wrote:
Pool is used if you don't have compression enabled, cpool if you do. Whichever is used must be on the same filesystem as the pc directory tree so that hardlinks work between them. If you are getting errors making the links, check that you have space (df) and inodes available (df -i), and that the directory is writable by the backuppc user.

Hmm....Something is definitely up with my inodes:

[EMAIL PROTECTED]:/mnt/plump/backuppc# df -i
Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/sdc2                  0       0       0    -  /
varrun                497169      77  497092    1% /var/run
varlock               497169       2  497167    1% /var/lock
udev                  497169    3232  493937    1% /dev
devshm                497169       1  497168    1% /dev/shm
lrm 497169 13 497156 1% /lib/modules/ 2.6.22-14-generic/volatile
/dev/sda1                  0       0       0    -  /mnt/tubby
/dev/sdb1                  0       0       0    -  /mnt/portly
/dev/sde1                  0       0       0    -  /mnt/brick
/dev/sdd1                  0       0       0    -  /mnt/plump
/dev/sdf10 4294967295 975408 4293991887 1% /media/ Hammer USB

I notice that all my disks that are ReiserFS do not list any inode info at all... is ReiserFS the problem, then? Should I change the backuppc disk to be ext3?

Reiserfs creates inodes as needed so that's not a problem. Just look at your logs and if you still see 'unable to link' errors, try to find the reason. Trying execute the same ln command as the backuppc user might give you some sort of error message.

--
 Les Mikesell
  [EMAIL PROTECTED]


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/_______________________________________________
BackupPC-users mailing list
[email protected]
List:    https://lists.sourceforge.net/lists/listinfo/backuppc-users
Wiki:    http://backuppc.wiki.sourceforge.net
Project: http://backuppc.sourceforge.net/

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
BackupPC-users mailing list
[email protected]
List:    https://lists.sourceforge.net/lists/listinfo/backuppc-users
Wiki:    http://backuppc.wiki.sourceforge.net
Project: http://backuppc.sourceforge.net/

Reply via email to