/usr/share/backuppc/lib/BackupPC/Xfer/Archive.pm is in backuppc 3.3.1-4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 | #============================================================= -*-perl-*-
#
# BackupPC::Xfer::Archive package
#
# DESCRIPTION
#
# This library defines a BackupPC::Xfer::Archive class for managing
# archives to media.
#
# AUTHOR
# Craig Barratt <cbarratt@users.sourceforge.net>
#
# COPYRIGHT
# Copyright (C) 2001-2015 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
#========================================================================
#
# Version 3.3.1, released 11 Jan 2015.
#
# See http://backuppc.sourceforge.net.
#
#========================================================================
package BackupPC::Xfer::Archive;
use strict;
use base qw(BackupPC::Xfer::Protocol);
sub start
{
return "Archive Started";
}
sub run
{
my($t) = @_;
my $bpc = $t->{bpc};
my $conf = $t->{conf};
my(@HostList, @BackupList, $archiveClientCmd, $archiveClientCmd2, $logMsg);
$archiveClientCmd = $conf->{ArchiveClientCmd};
$t->{xferOK} = 1;
@HostList = $t->{HostList};
@BackupList = $t->{BackupList};
my $i = 0;
my $tarCreatePath = "$conf->{InstallDir}/bin/BackupPC_tarCreate";
while (${@HostList[0]}[$i]) {
#
# 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]);
}, 0, $t->{pidHandler});
if ( $? ) {
($t->{_errStr} = $errStr) =~ s/[\n\r]+//;
return;
}
$i++;
}
$t->{XferLOG}->write(\"Completed Archive\n");
return "Completed Archive";
}
1;
|