Archiviare dei backup con BackupPC: Difference between revisions

From RVM Wiki
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 30: Line 30:
* Da interfaccia web, selezionare l'host ''archive'' e fare l'archiviazione, oppure lanciarla da command line:
* Da interfaccia web, selezionare l'host ''archive'' e fare l'archiviazione, oppure lanciarla da command line:
  sudo -u backuppc /usr/share/backuppc/bin/BackupPC_archiveStart  archive backuppc host_da_archiviare
  sudo -u backuppc /usr/share/backuppc/bin/BackupPC_archiveStart  archive backuppc host_da_archiviare
==Fix per Debian Squeeze==
* Con Debian Squeeze, lo script per sottomettere l'archiviazione non permette di comprimere e splittare.
* Copiare lo script:
sudo cp  /usr/share/backuppc/bin/BackupPC_archiveStart /usr/local/sbin/BackupPC_archiveStart.custom
* Modificare come segue:
diff -u /usr/share/backuppc/bin/BackupPC_archiveStart /usr/local/sbin/BackupPC_archiveStart.custom
<pre>
--- /usr/share/backuppc/bin/BackupPC_archiveStart      2009-11-25 16:11:48.000000000 +0100
+++ /usr/local/sbin/BackupPC_archiveStart.custom        2011-11-10 12:39:00.977406468 +0100
@@ -94,10 +94,10 @@
my %ArchiveReq = (
    archiveloc  => $bpc->{Conf}{ArchiveDest},
    archtype    => 0,
-    compression => $bpc->{Conf}{CatPath},
-    compext    => '.raw',
+    compression => $bpc->{Conf}{ArchiveComp},
+    compext    => $bpc->{Conf}{ArchiveCompExt},
    parfile    => $bpc->{Conf}{ArchivePar},
-    splitsize  => '0000000',
+    splitsize  => $bpc->{Conf}{ArchiveSplit},
    host        => $ArchiveHost,
    HostList    => \@HostList,
    BackupList  => \@BackupList,
</pre>
* Inserire i parametri nel file di config:
sudoedit /etc/backuppc/archive.pl
<pre>
$Conf{XferMethod} = 'archive';
$Conf{ClientTimeout} = 172800 ;
$Conf{ArchiveComp} = '/usr/bin/pigz';
$Conf{ArchiveCompExt} = '.gz';
$Conf{ArchiveSplit} = '0';
#$Conf{ArchiveSplit} = '1999M';
$Conf{ArchiveDest} = '/media/archive';
$Conf{ArchivePostUserCmd} = '/usr/local/bin/ArchivePostUserCmd $client $xferOK $
host $HostList $BackupList $moreUsers';
</pre>
* Sottomettere il job con questo script, che provvede a conservare solo gli ultimi 4 backup di ogni host:
sudoedit /usr/local/sbin/BackupPcArchive
<pre>
#!/bin/bash
/usr/bin/logger -t BackupPcArchive "Udev parameters: ACTION=${ACTION} - DEVICE=${DEVICE}"
/usr/bin/logger -t BackupPcArchive "Starting archiving ..."
/usr/bin/logger -t BackupPcArchive "Creating mount point ..."
sudo mkdir -p /media/archive
/usr/bin/logger -t BackupPcArchive "Mounting device ..."
sudo /bin/umount /media/archive > /dev/null 2>&1
sudo mount /dev/sdd1 /media/archive > /dev/null
# Erase oldest files
cd /media/archive
HOSTS2BACKUP="firemar marsrv01 marstor01"
for BKPHOST in $HOSTS2BACKUP
do
        FILES2DELETE=$( (/bin/ls -1v ${BKPHOST}* 2>/dev/null | /usr/bin/tail -n 4;/bin/ls -1 ${BKPHOST}* 2>/dev/null)| /usr/bin/sort | /usr/bin/uniq -u )
        if [ -n "$FILES2DELETE" ]
        then
                /usr/bin/logger -t BackupPcArchive "Deleting files '$FILES2DELETE'"
                /bin/rm -f $FILES2DELETE
        fi
done
# These scripts forks in the background
/usr/bin/logger -t BackupPcArchive "Queueing archiving of ${HOSTS2BACKUP} ... "
#/usr/share/backuppc/bin/BackupPC_archiveStart  archive backuppc marsrv01 firemar marstor01
/usr/local/sbin/BackupPC_archiveStart.custom  archive backuppc ${HOSTS2BACKUP}
/usr/bin/logger -t BackupPcArchive "Jobs queued."
# umount and remove mountpint is done in /usr/local/bin/ArchivePostUserCmd
</pre>


==Riferimenti==
==Riferimenti==
Line 35: Line 114:
*[http://stanlarson.com/wordpress/?p=119 StanLarson.com » Getting BackupPC Data Off Site]
*[http://stanlarson.com/wordpress/?p=119 StanLarson.com » Getting BackupPC Data Off Site]
*[http://www.pcc-services.com/sles/backuppc6.html Deploying BackupPC on Suse Linux Enterprise Server - pcc-services.com]
*[http://www.pcc-services.com/sles/backuppc6.html Deploying BackupPC on Suse Linux Enterprise Server - pcc-services.com]
*[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=518943 #518943 - backuppc: Archive run from commandline does not compress - Debian Bug report logs]

Revision as of 16:20, 10 November 2011

  • Impostare l'host fittizio di backup
sudoedit /etc/backuppc/hosts
archive         0               backuppc        miaemail@dominio.dom
  • Creare il file di configurazione
cat | sudo tee /etc/backuppc/archive.pl >/dev/null <<'EOFile'
$Conf{XferMethod} = 'archive';
$Conf{ClientTimeout} = 172800 ;
$Conf{ArchiveComp} = 'gzip';
$Conf{ArchiveSplit} = 1999;
$Conf{ArchiveDest} = '/media/archive';
$Conf{ArchivePostUserCmd} = '/usr/local/bin/ArchivePostUserCmd $client $xferOK $host $HostList $BackupList $moreUsers';
EOFile
  • Creare lo script di notifica:


  • Riavviare backuppc
sudo invoke-rc.d backuppc restar
  • Creare la cartella:
sudo mkdir /var/lib/backuppc/pc/archive sudo chown backuppc:www-data /var/lib/backuppc/pc/archive sudo chmod o-rwx /var/lib/backuppc/pc/archive
  • Da interfaccia web, selezionare l'host archive e fare l'archiviazione, oppure lanciarla da command line:
sudo -u backuppc /usr/share/backuppc/bin/BackupPC_archiveStart  archive backuppc host_da_archiviare

Fix per Debian Squeeze

  • Con Debian Squeeze, lo script per sottomettere l'archiviazione non permette di comprimere e splittare.
  • Copiare lo script:
sudo cp  /usr/share/backuppc/bin/BackupPC_archiveStart /usr/local/sbin/BackupPC_archiveStart.custom
  • Modificare come segue:
diff -u /usr/share/backuppc/bin/BackupPC_archiveStart /usr/local/sbin/BackupPC_archiveStart.custom
--- /usr/share/backuppc/bin/BackupPC_archiveStart       2009-11-25 16:11:48.000000000 +0100
+++ /usr/local/sbin/BackupPC_archiveStart.custom        2011-11-10 12:39:00.977406468 +0100
@@ -94,10 +94,10 @@
 my %ArchiveReq = (
     archiveloc  => $bpc->{Conf}{ArchiveDest},
     archtype    => 0,
-    compression => $bpc->{Conf}{CatPath},
-    compext     => '.raw',
+    compression => $bpc->{Conf}{ArchiveComp},
+    compext     => $bpc->{Conf}{ArchiveCompExt},
     parfile     => $bpc->{Conf}{ArchivePar},
-    splitsize   => '0000000',
+    splitsize   => $bpc->{Conf}{ArchiveSplit},
     host        => $ArchiveHost,
     HostList    => \@HostList,
     BackupList  => \@BackupList,
  • Inserire i parametri nel file di config:
sudoedit /etc/backuppc/archive.pl 
$Conf{XferMethod} = 'archive';
$Conf{ClientTimeout} = 172800 ;
$Conf{ArchiveComp} = '/usr/bin/pigz';
$Conf{ArchiveCompExt} = '.gz';
$Conf{ArchiveSplit} = '0';
#$Conf{ArchiveSplit} = '1999M';
$Conf{ArchiveDest} = '/media/archive';
$Conf{ArchivePostUserCmd} = '/usr/local/bin/ArchivePostUserCmd $client $xferOK $
host $HostList $BackupList $moreUsers';
  • Sottomettere il job con questo script, che provvede a conservare solo gli ultimi 4 backup di ogni host:
sudoedit /usr/local/sbin/BackupPcArchive
#!/bin/bash
/usr/bin/logger -t BackupPcArchive "Udev parameters: ACTION=${ACTION} - DEVICE=${DEVICE}"
/usr/bin/logger -t BackupPcArchive "Starting archiving ..."
/usr/bin/logger -t BackupPcArchive "Creating mount point ..."
sudo mkdir -p /media/archive
/usr/bin/logger -t BackupPcArchive "Mounting device ..."
sudo /bin/umount /media/archive > /dev/null 2>&1
sudo mount /dev/sdd1 /media/archive > /dev/null
# Erase oldest files
cd /media/archive
HOSTS2BACKUP="firemar marsrv01 marstor01"
for BKPHOST in $HOSTS2BACKUP
do
        FILES2DELETE=$( (/bin/ls -1v ${BKPHOST}* 2>/dev/null | /usr/bin/tail -n 4;/bin/ls -1 ${BKPHOST}* 2>/dev/null)| /usr/bin/sort | /usr/bin/uniq -u )
        if [ -n "$FILES2DELETE" ]
        then
                /usr/bin/logger -t BackupPcArchive "Deleting files '$FILES2DELETE'"
                /bin/rm -f $FILES2DELETE
        fi
done
# These scripts forks in the background
/usr/bin/logger -t BackupPcArchive "Queueing archiving of ${HOSTS2BACKUP} ... "
#/usr/share/backuppc/bin/BackupPC_archiveStart  archive backuppc marsrv01 firemar marstor01
/usr/local/sbin/BackupPC_archiveStart.custom  archive backuppc ${HOSTS2BACKUP}
/usr/bin/logger -t BackupPcArchive "Jobs queued."
# umount and remove mountpint is done in /usr/local/bin/ArchivePostUserCmd


Riferimenti