X-Git-Url: http://git.rot13.org/?p=BackupPC.git;a=blobdiff_plain;f=lib%2FBackupPC%2FXfer%2FTar.pm;h=e9b2945e963dfef82f2bb2e57e3616ed637f0385;hp=8c05492727411ac195e3f9ef8422e409318c68c9;hb=617af75f7419e95a9c3ea05b05cf21957acc331c;hpb=d6dd48e6594d937dea49e3dd1c5ddaba6719df0d diff --git a/lib/BackupPC/Xfer/Tar.pm b/lib/BackupPC/Xfer/Tar.pm index 8c05492..e9b2945 100644 --- a/lib/BackupPC/Xfer/Tar.pm +++ b/lib/BackupPC/Xfer/Tar.pm @@ -29,7 +29,7 @@ # #======================================================================== # -# Version 2.1.0_CVS, released 8 Feb 2004. +# Version 3.0.0alpha, released 23 Jan 2006. # # See http://backuppc.sourceforge.net. # @@ -92,24 +92,11 @@ sub start } else { # # Turn $conf->{BackupFilesOnly} and $conf->{BackupFilesExclude} - # into a hash of arrays of files + # into a hash of arrays of files, and $conf->{TarShareName} + # to an array # - $conf->{TarShareName} = [ $conf->{TarShareName} ] - unless ref($conf->{TarShareName}) eq "ARRAY"; - foreach my $param qw(BackupFilesOnly BackupFilesExclude) { - next if ( !defined($conf->{$param}) ); - if ( ref($conf->{$param}) eq "ARRAY" ) { - $conf->{$param} = { - $conf->{TarShareName}[0] => $conf->{$param} - }; - } elsif ( ref($conf->{$param}) eq "HASH" ) { - # do nothing - } else { - $conf->{$param} = { - $conf->{TarShareName}[0] => [ $conf->{$param} ] - }; - } - } + $bpc->backupFileConfFix($conf, "TarShareName"); + if ( defined($conf->{BackupFilesExclude}{$t->{shareName}}) ) { foreach my $file ( @{$conf->{BackupFilesExclude}{$t->{shareName}}} ) { @@ -135,9 +122,10 @@ sub start $args = $conf->{TarFullArgs}; $logMsg = "full backup started for directory $t->{shareName}"; } else { - $incrDate = $bpc->timeStamp($t->{lastFull} - 3600, 1); + $incrDate = $bpc->timeStamp($t->{incrBaseTime} - 3600, 1); $args = $conf->{TarIncrArgs}; - $logMsg = "incr backup started back to $incrDate for directory" + $logMsg = "incr backup started back to $incrDate" + . " (backup #$t->{incrBaseBkupNum}) for directory" . " $t->{shareName}"; } push(@$tarClientCmd, split(/ +/, $args)); @@ -234,8 +222,13 @@ sub readOutput $t->{XferLOG}->write(\"$_\n") if ( $t->{logLevel} >= 2 ); $t->{fileCnt}++; } else { - $t->{XferLOG}->write(\"$_\n") if ( $t->{logLevel} >= 0 ); - $t->{xferErrCnt}++; + # + # Ignore annoying log message on incremental for tar 1.15.x + # + if ( !/: file is unchanged; not dumped$/ ) { + $t->{XferLOG}->write(\"$_\n") if ( $t->{logLevel} >= 0 ); + $t->{xferErrCnt}++; + } # # If tar encounters a minor error, it will exit with a non-zero # status. We still consider that ok. Remember if tar prints