# Craig Barratt <cbarratt@users.sourceforge.net>
#
# COPYRIGHT
-# Copyright (C) 2003 Craig Barratt
+# Copyright (C) 2003-2009 Craig Barratt
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
#
#========================================================================
#
-# Version 2.1.0_CVS, released 8 Feb 2004.
+# Version 3.2.0, released 31 Jul 2010.
#
# See http://backuppc.sourceforge.net.
#
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,
$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);
} else {
my(@HostList, @BackupList, $HostListStr, $hiddenStr, $pathHdr,
$badFileCnt, $reply, $str);
- my $Privileged = CheckPermission();
+
+ #
+ # Pick up the archive host's config file
+ #
+ $bpc->ConfigRead($archHost);
+ %Conf = $bpc->Conf();
+
my $args = {
- SplitPath => $bpc->{Conf}{SplitPath},
- ParPath => $bpc->{Conf}{ParPath},
- CatPath => $bpc->{Conf}{CatPath},
- GzipPath => $bpc->{Conf}{GzipPath},
- Bzip2Path => $bpc->{Conf}{Bzip2Path},
- ArchiveDest => $bpc->{Conf}{ArchiveDest},
- ArchiveComp => $bpc->{Conf}{ArchiveComp},
- ArchivePar => $bpc->{Conf}{ArchivePar},
- ArchiveSplit => $bpc->{Conf}{ArchiveSplit},
+ SplitPath => $Conf{SplitPath},
+ ParPath => $Conf{ParPath},
+ CatPath => $Conf{CatPath},
+ GzipPath => $Conf{GzipPath},
+ Bzip2Path => $Conf{Bzip2Path},
+ ArchiveDest => $Conf{ArchiveDest},
+ ArchiveComp => $Conf{ArchiveComp},
+ ArchivePar => $Conf{ArchivePar},
+ ArchiveSplit => $Conf{ArchiveSplit},
topDir => $bpc->{TopDir},
};
- if ( !$Privileged ) {
- ErrorExit($Lang->{Only_privileged_users_can_archive} );
- }
ServerConnect();
for ( my $i = 0 ; $i < $In{fcbMax} ; $i++ ) {
}
my ($ArchiveDest, $ArchiveCompNone, $ArchiveCompGzip,
$ArchiveCompBzip2, $ArchivePar, $ArchiveSplit);
- $ArchiveDest = $bpc->{Conf}{ArchiveDest};
- if ( $bpc->{Conf}{ArchiveComp} eq "none" ) {
+ $ArchiveDest = $Conf{ArchiveDest};
+ if ( $Conf{ArchiveComp} eq "none" ) {
$ArchiveCompNone = "checked";
} else {
$ArchiveCompNone = "";
}
- if ( $bpc->{Conf}{ArchiveComp} eq "gzip" ) {
+ if ( $Conf{ArchiveComp} eq "gzip" ) {
$ArchiveCompGzip = "checked";
} else {
$ArchiveCompGzip = "";
}
- if ( $bpc->{Conf}{ArchiveComp} eq "bzip2" ) {
+ if ( $Conf{ArchiveComp} eq "bzip2" ) {
$ArchiveCompBzip2 = "checked";
} else {
$ArchiveCompBzip2 = "";
}
- $ArchivePar = $bpc->{Conf}{ArchivePar};
- $ArchiveSplit = $bpc->{Conf}{ArchiveSplit};
+ $ArchivePar = $Conf{ArchivePar};
+ $ArchiveSplit = $Conf{ArchiveSplit};
if ( $In{type} == 1 ) {
#
# Tell the user what options they have
#
my $paramStr = "";
- if ( $bpc->{Conf}{ArchiveClientCmd} =~ /\$archiveloc\b/ ) {
+ if ( $Conf{ArchiveClientCmd} =~ /\$archiveloc\b/ ) {
$paramStr .= eval("qq{$Lang->{BackupPC_Archive2_location}}");
}
- if ( $bpc->{Conf}{ArchiveClientCmd} =~ /\$compression\b/ ) {
+ if ( $Conf{ArchiveClientCmd} =~ /\$compression\b/ ) {
$paramStr .= eval("qq{$Lang->{BackupPC_Archive2_compression}}");
}
- if ( $bpc->{Conf}{ArchiveClientCmd} =~ /\$parfile\b/
- && -x $bpc->{Conf}{ParPath} ) {
+ if ( $Conf{ArchiveClientCmd} =~ /\$parfile\b/
+ && -x $Conf{ParPath} ) {
$paramStr .= eval("qq{$Lang->{BackupPC_Archive2_parity}}");
}
- if ( $bpc->{Conf}{ArchiveClientCmd} =~ /\$splitsize\b/
- && -x $bpc->{Conf}{SplitPath} ) {
+ if ( $Conf{ArchiveClientCmd} =~ /\$splitsize\b/
+ && -x $Conf{SplitPath} ) {
$paramStr .= eval("qq{$Lang->{BackupPC_Archive2_split}}");
}
my $content = eval("qq{$Lang->{BackupPC_Archive2}}");
[ \%ArchiveReq],
[qw(*ArchiveReq)]);
$archive->Indent(1);
- if ( open(REQ, ">$TopDir/pc/$archivehost/$reqFileName") ) {
+ my $openPath = "$TopDir/pc/$archivehost/$reqFileName";
+ if ( open(REQ, ">", $openPath) ) {
binmode(REQ);
print(REQ $archive->Dump);
close(REQ);
} else {
- ErrorExit($Lang->{Can_t_open_create} );
+ ErrorExit(eval("qq{$Lang->{Can_t_open_create__openPath}}"));
}
$reply = $bpc->ServerMesg("archive $User $archivehost $reqFileName");
$str = eval("qq{$Lang->{Archive_requested}}");