X-Git-Url: http://git.rot13.org/?p=BackupPC.git;a=blobdiff_plain;f=lib%2FBackupPC%2FXfer%2FArchive.pm;h=1186b97cbf117d89c5b6cd4ff484d896f2e15d37;hp=1aa4e0700f09e59c46fc2dc6989a5987a8535599;hb=e951f787a66c5bd9e9955c3f657a5b44289c0fe1;hpb=b2013172257d98277042670101493c88d3b3dfe7 diff --git a/lib/BackupPC/Xfer/Archive.pm b/lib/BackupPC/Xfer/Archive.pm index 1aa4e07..1186b97 100644 --- a/lib/BackupPC/Xfer/Archive.pm +++ b/lib/BackupPC/Xfer/Archive.pm @@ -29,7 +29,7 @@ # #======================================================================== # -# Version 2.1.0_CVS, released 3 Jul 2003. +# Version 2.1.0, released 20 Jun 2004. # # See http://backuppc.sourceforge.net. # @@ -90,35 +90,41 @@ sub run $t->{xferOK} = 1; @HostList = $t->{HostList}; @BackupList = $t->{BackupList}; - my $i=0; - my $tarCreatePath = $conf->{InstallDir} . "/bin/BackupPC_tarCreate"; + my $i = 0; + my $tarCreatePath = "$conf->{InstallDir}/bin/BackupPC_tarCreate"; while (${@HostList[0]}[$i]) { - # - # Merge variables into @archiveClientCmd - # - my $cmdargs = { - archiveloc => $t->{archiveloc}, - parfile => $t->{parfile}, - compression => $t->{compression}, - compext => $t->{compext}, - splitsize => $t->{splitsize}, - host => ${@HostList[0]}[$i], - backupnumber => ${@BackupList[0]}[$i], - Installdir => $conf->{InstallDir}, - tarCreatePath => $tarCreatePath, - splitpath => $conf->{SplitPath}, - parpath => $conf->{ParPath}, - }; - - $archiveClientCmd2 = $bpc->cmdVarSubstitute($archiveClientCmd, $cmdargs); - $t->{XferLOG}->write(\"Executing: @$archiveClientCmd2\n"); - - $bpc->cmdSystemOrEval($archiveClientCmd2, + # + # Merge variables into @archiveClientCmd + # + my $errStr; + my $cmdargs = { + archiveloc => $t->{archiveloc}, + parfile => $t->{parfile}, + compression => $t->{compression}, + compext => $t->{compext}, + splitsize => $t->{splitsize}, + host => ${@HostList[0]}[$i], + backupnumber => ${@BackupList[0]}[$i], + Installdir => $conf->{InstallDir}, + tarCreatePath => $tarCreatePath, + splitpath => $conf->{SplitPath}, + parpath => $conf->{ParPath}, + }; + + $archiveClientCmd2 = $bpc->cmdVarSubstitute($archiveClientCmd, + $cmdargs); + $t->{XferLOG}->write(\"Executing: @$archiveClientCmd2\n"); + + $bpc->cmdSystemOrEvalLong($archiveClientCmd2, sub { + $errStr = $_[0]; $t->{XferLOG}->write(\$_[0]); - }); - - $i++; + }, 0, $t->{pidHandler}); + if ( $? ) { + ($t->{_errStr} = $errStr) =~ s/[\n\r]+//; + return; + } + $i++; } $t->{XferLOG}->write(\"Completed Archive\n"); return "Completed Archive"; @@ -131,6 +137,10 @@ sub errStr return $t->{_errStr}; } +sub abort +{ +} + sub xferPid { my($t) = @_;