X-Git-Url: http://git.rot13.org/?p=BackupPC.git;a=blobdiff_plain;f=lib%2FBackupPC%2FCGI%2FArchive.pm;h=758cac35ce9538dde7c6b04dbf97d141777aa5ce;hp=43a9b8ec3c12c1c76aa1939eee1d7c4a7b6c591b;hb=8f5625f9cdf47f8e04be654c4954838b2df3e26d;hpb=a7e968ce327855f2ba2624ca8517069a936c9b5b diff --git a/lib/BackupPC/CGI/Archive.pm b/lib/BackupPC/CGI/Archive.pm index 43a9b8e..758cac3 100644 --- a/lib/BackupPC/CGI/Archive.pm +++ b/lib/BackupPC/CGI/Archive.pm @@ -28,7 +28,7 @@ # #======================================================================== # -# Version 2.1.0_CVS, released 3 Jul 2003. +# Version 2.1.0beta0, released 20 Mar 2004. # # See http://backuppc.sourceforge.net. # @@ -42,18 +42,20 @@ use Data::Dumper; sub action { + my $archHost = $In{host}; + my $Privileged = CheckPermission(); + + if ( !$Privileged ) { + ErrorExit($Lang->{Only_privileged_users_can_archive} ); + } if ( $In{type} == 0 ) { my($fullTot, $fullSizeTot, $incrTot, $incrSizeTot, $str, - $strNone, $strGood, $hostCntGood, $hostCntNone, $checkBoxCnt, - $backupnumber); + $strNone, $strGood, $hostCntGood, $hostCntNone, $checkBoxCnt, + $backupnumber); $hostCntGood = $hostCntNone = $checkBoxCnt = $fullSizeTot = 0; GetStatusInfo("hosts"); - my $Privileged = CheckPermission(); - if ( !$Privileged ) { - ErrorExit($Lang->{Only_privileged_users_can_archive} ); - } foreach my $host ( sort(keys(%Status)) ) { my($fullDur, $incrCnt, $fullSize, $fullRate); my @Backups = $bpc->BackupInfoRead($host); @@ -70,10 +72,10 @@ sub action $fullSizeTot += $fullSize + $incrSizeTot; $fullSize = sprintf("%.2f", ($fullSize + $incrSizeTot) / 1000); $str = < - ${HostLink($host)} - ${UserLink($Hosts->{$host}{user})} - $fullSize + + ${HostLink($host)} + ${UserLink($Hosts->{$host}{user})} + $fullSize EOF $checkBoxCnt++; if ( @Backups == 0 ) { @@ -90,15 +92,12 @@ EOF $strGood .= < EOF - Header($Lang->{BackupPC__Archive}); - print eval ("qq{$Lang->{BackupPC_Archive}}"); - + my $content = eval("qq{$Lang->{BackupPC_Archive}}"); + Header(eval("qq{$Lang->{BackupPC__Archive}}"), $content, 1); Trailer(); } else { - - my(@HostList, @BackupList, $HostListStr, $hiddenStr, $pathHdr, $badFileCnt, $reply, $str); - - my $Privileged = CheckPermission(); + my(@HostList, @BackupList, $HostListStr, $hiddenStr, $pathHdr, + $badFileCnt, $reply, $str); my $args = { SplitPath => $bpc->{Conf}{SplitPath}, ParPath => $bpc->{Conf}{ParPath}, @@ -112,9 +111,6 @@ EOF topDir => $bpc->{TopDir}, }; - if ( !$Privileged ) { - ErrorExit($Lang->{Only_privileged_users_can_archive} ); - } ServerConnect(); for ( my $i = 0 ; $i < $In{fcbMax} ; $i++ ) { @@ -138,8 +134,9 @@ EOF if ( @HostList == 0 ) { ErrorExit($Lang->{You_haven_t_selected_any_hosts}); } - my ($ArchiveDest, $ArchiveCompNone, $ArchiveCompGzip, $ArchiveCompBzip2, $ArchivePar, $ArchiveSplit); - $ArchiveDest = $bpc->{Conf}{ArchiveDest}; + my ($ArchiveDest, $ArchiveCompNone, $ArchiveCompGzip, + $ArchiveCompBzip2, $ArchivePar, $ArchiveSplit); + $ArchiveDest = $bpc->{Conf}{ArchiveDest}; if ( $bpc->{Conf}{ArchiveComp} eq "none" ) { $ArchiveCompNone = "checked"; } else { @@ -155,16 +152,30 @@ EOF } else { $ArchiveCompBzip2 = ""; } - $ArchivePar = $bpc->{Conf}{ArchivePar}; - $ArchiveSplit = $bpc->{Conf}{ArchiveSplit}; + $ArchivePar = $bpc->{Conf}{ArchivePar}; + $ArchiveSplit = $bpc->{Conf}{ArchiveSplit}; if ( $In{type} == 1 ) { # # Tell the user what options they have # - - Header($Lang->{BackupPC__Archive}); - print eval ("qq{$Lang->{BackupPC_Archive2}}"); + my $paramStr = ""; + if ( $bpc->{Conf}{ArchiveClientCmd} =~ /\$archiveloc\b/ ) { + $paramStr .= eval("qq{$Lang->{BackupPC_Archive2_location}}"); + } + if ( $bpc->{Conf}{ArchiveClientCmd} =~ /\$compression\b/ ) { + $paramStr .= eval("qq{$Lang->{BackupPC_Archive2_compression}}"); + } + if ( $bpc->{Conf}{ArchiveClientCmd} =~ /\$parfile\b/ + && -x $bpc->{Conf}{ParPath} ) { + $paramStr .= eval("qq{$Lang->{BackupPC_Archive2_parity}}"); + } + if ( $bpc->{Conf}{ArchiveClientCmd} =~ /\$splitsize\b/ + && -x $bpc->{Conf}{SplitPath} ) { + $paramStr .= eval("qq{$Lang->{BackupPC_Archive2_split}}"); + } + my $content = eval("qq{$Lang->{BackupPC_Archive2}}"); + Header(eval("qq{$Lang->{BackupPC__Archive}}"), $content, 1); Trailer(); } elsif ( $In{type} == 2 ) { my $reqFileName; @@ -173,20 +184,15 @@ EOF $reqFileName = "archiveReq.$$.$i"; last if ( !-f "$TopDir/pc/$archivehost/$reqFileName" ); } - my $compname; - if ( $In{compression} == 2 ) { # bzip2 compression + my($compname, $compext); + if ( $In{compression} == 2 ) { # bzip2 compression $compname = $Conf{Bzip2Path}; - } elsif ( $In{compression} == 1 ) { # gzip compression - $compname = $Conf{GzipPath}; - } else { # No Compression - $compname = $Conf{CatPath}; - } - my $compext; - if ( $In{compression} == 2 ) { # bzip2 compression $compext = '.bz2'; - } elsif ( $In{compression} == 1 ) { # gzip compression + } elsif ( $In{compression} == 1 ) { # gzip compression + $compname = $Conf{GzipPath}; $compext = '.gz'; } else { # No Compression + $compname = $Conf{CatPath}; $compext = '.raw'; } my $fullsplitsize = $In{splitsize} . '000000'; @@ -200,7 +206,6 @@ EOF splitsize => $fullsplitsize, host => $archivehost, - # list of hosts to restore HostList => \@HostList, BackupList => \@BackupList, @@ -220,16 +225,14 @@ EOF } else { ErrorExit($Lang->{Can_t_open_create} ); } - $reply = $bpc->ServerMesg("archive $User $archivehost $reqFileName"); + $reply = $bpc->ServerMesg("archive $User $archivehost $reqFileName"); + $str = eval("qq{$Lang->{Archive_requested}}"); - $str = eval("qq{$Lang->{Archive_requested}}"); - Header($Lang->{BackupPC__Archive}); - print eval ("qq{$Lang->{BackupPC_Archive_Reply_from_server}}"); + my $content = eval("qq{$Lang->{BackupPC_Archive_Reply_from_server}}"); + Header(eval("qq{$Lang->{BackupPC__Archive}}"), $content, 1); Trailer(); } - } - } 1;