#!/usr/bin/perl # Author: Daniel Berteaud (daniel@firewall-services.com) # 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 use lib "/usr/share/BackupPC/lib"; use BackupPC::SMEarchive; use BackupPC::SMEcopyPool; use strict; my $logFile = '/tmp/'.genRandName (); my $rsyncLog = '/tmp/'.genRandName (); my $check = 1; # Sortie erreur standard=fichier de log open (STDERR, ">$logFile"); my $today = `$path{date} +%F-%kh%M`; # on inscrit la date en haut du fichier log print STDERR "Starting pool copy: ".`$path{date}`."\n"; my %opts=(); my %params=( 'remoteHost'=>"remote_host.com", 'remoteUser'=>"backuppc", 'remoteDir'=>"/tmp/", 'source'=>'/var/lib/BackupPC/', 'compress'=>"gzip", 'extract'=>"yes", 'stop'=>"yes", 'sendMailTo'=>'admin', 'configFile'=>'/etc/BackupPC/remoteCopyPool.conf'); # On lance la récupération des paramètres qui retourne le fichier de config à utiliser $params{configFile} = init($params{configFile}); %params = readConf(\%params); print STDERR "You have requested to copy all your backups ($params{source}) to this destination: $params{remoteUser}\@$params{remoteHost}:$params{remoteDir}\n\n"; $check = verifTree($params{source}); if ($check eq 1){ if ($params{stop} eq 'yes'){ stopBackupPC(); } copyPool($params{source},"$params{remoteUser}\@$params{remoteHost}:$params{remoteDir}",$logFile,$rsyncLog); remoteCopyPC($params{source},$params{remoteHost},$params{remoteUser},$params{remoteDir},$params{compress},$params{extract},$logFile); if ($params{stop} eq 'yes'){ startBackupPC(); } } else{ print STDERR "\naborting, the source directory is probably not the good one\n\n"; } print STDERR "\n\nCopy finished: ".`$path{date}`."\n"; my $log = `$path{cat} $logFile`; sendMail($params{sendMailTo},'remoteCopyPool',$log); mvLog('remoteCopyPool',$logFile,$today); exit(0);