#
#========================================================================
#
-# Version 2.1.0_CVS, released 8 Feb 2004.
+# Version 3.0.0alpha, released 23 Jan 2006.
#
# See http://backuppc.sourceforge.net.
#
$RsyncLibOK = 0;
$RsyncLibErr = "File::RsyncP module doesn't exist";
} else {
- if ( $File::RsyncP::VERSION < 0.50 ) {
+ #
+ # Note: also update configure.pl when this version number is changed!
+ #
+ if ( $File::RsyncP::VERSION < 0.52 ) {
$RsyncLibOK = 0;
- $RsyncLibErr = "File::RsyncP module version too old: need 0.50";
+ $RsyncLibErr = "File::RsyncP module version"
+ . " ($File::RsyncP::VERSION) too old: need 0.52";
} else {
$RsyncLibOK = 1;
}
} else {
#
# Turn $conf->{BackupFilesOnly} and $conf->{BackupFilesExclude}
- # into a hash of arrays of files.
+ # into a hash of arrays of files, and $conf->{RsyncShareName}
+ # to an array
#
- $conf->{RsyncShareName} = [ $conf->{RsyncShareName} ]
- unless ref($conf->{RsyncShareName}) eq "ARRAY";
- foreach my $param qw(BackupFilesOnly BackupFilesExclude) {
- next if ( !defined($conf->{$param}) );
- if ( ref($conf->{$param}) eq "ARRAY" ) {
- $conf->{$param} = {
- $conf->{RsyncShareName}[0] => $conf->{$param}
- };
- } elsif ( ref($conf->{$param}) eq "HASH" ) {
- # do nothing
- } else {
- $conf->{$param} = {
- $conf->{RsyncShareName}[0] => [ $conf->{$param} ]
- };
- }
- }
+ $bpc->backupFileConfFix($conf, "RsyncShareName");
+
if ( defined($conf->{BackupFilesOnly}{$t->{shareName}}) ) {
my(@inc, @exc, %incDone, %excDone);
foreach my $file ( @{$conf->{BackupFilesOnly}{$t->{shareName}}} ) {
$logMsg = "full backup started for directory $t->{shareName}";
}
} else {
- $incrDate = $bpc->timeStamp($t->{lastFull} - 3600, 1);
- $logMsg = "incr backup started back to $incrDate for directory"
+ $incrDate = $bpc->timeStamp($t->{incrBaseTime}, 1);
+ $logMsg = "incr backup started back to $incrDate"
+ . " (backup #$t->{incrBaseBkupNum}) for directory"
. " $t->{shareName}";
}
$rsyncClientCmd = $conf->{RsyncClientCmd};
$argList = ['--server', '--sender', @$rsyncArgs,
'.', $t->{shareNameSlash}];
+ eval {
+ $argList = File::RsyncP->excludeStrip($argList);
+ };
$fioArgs = {
client => $t->{client},
share => $t->{shareName},
- viewNum => $t->{lastFullBkupNum},
+ viewNum => $t->{incrBaseBkupNum},
partialNum => $t->{partialNum},
};
}
pidHandler => sub {
$t->{pidHandler}(@_);
},
+ clientCharset => $conf->{ClientCharset},
fio => BackupPC::Xfer::RsyncFileIO->new({
xfer => $t,
bpc => $t->{bpc},
$str .= "\n";
$t->{XferLOG}->write(\$str);
},
+ cacheCheckProb => $conf->{RsyncCsumCacheVerifyProb},
+ clientCharset => $conf->{ClientCharset},
%$fioArgs,
}),
});