Project

General

Profile

BackupPC » History » Version 11

« Previous - Version 11/24 (diff) - Next » - Current version
Amministratore Truelite, 12/14/2010 08:02 PM


TracNav(TOC) = Backup con BackupPC =

Il programma [http://backuppc.sourceforge.net/ BackupPC] è un sistema di
backup scritto in perl che presenta una buona flessibilità e potenza insieme
ad una discreta facilità d'uso sul lato utente grazie alla sua interfaccia
web. BackupPC è utile in tutti quei casi in cui sia necessario gestire backup
di realtà non troppo complesse per le quali sia sufficiente un salvataggio su
disco (esterno o rimuovibile).

Qualora si debbano realizzare strategie di backup più complesse, in
particolare con salvataggi su diversi supporti, conviene utilizzare un
prodotto molto più sofisticato (ma anche molto più complicato da usare) come
Bacula. In questo caso lo svantaggio principale è costituito dalla complessità
dell'interfaccia utente per il ripristino, che usa la linea di comando.

Un altro vantaggio di BackupPC è che non è necessario installare nessun
programma sui PC di cui si effettua il backup, in quanto tutto viene eseguito
tramite l'uso di {{{rsync}}} per le macchine unix e del protocollo SMB (o
CIFS) per le macchine windows.

All'interno di ''Debian Lenny'' è già disponibile la versione 3.1.0 di
BackupPC, che può essere installata semplicemente con il comando: {{{
apt-get install backuppc
}}}

Per poter utilizzare il supporto dei backup su unix via {{{rsync}}} oltre a
quest'ultimo è comunque necessario installarsi anche i rispettivi pacchetti Perl,
senza i quali il sistema non funziona; inoltre possono risultare utili altri
pacchetti, in particolare programmi
per la decompressione/compressione degli archivi e per l'accesso agli share
Windows tramite il protocollo SMB; per cui alla fine sarà opportuno installare anche:

{{{
apt-get install libfile-rsync-perl libfile-rsyncp-perl rsync \
par2 bzip2 smbfs
}}}

All'installazione del pacchetto l'interfaccia web viene configurata per
l'accesso autenticato generando i due file {{{htgroup}}} e {{{htpasswd}}}
dentro {{{/etc/backuppc/}}} che vengono referenziati direttamente dalla
relativa configurazione di Apache. Questa è contenuta nel file {{{apache.conf}}} della stessa directory, a deve essere creato un link simbolico
in {{{/etc/apache2/conf.d/}}}.

Se si dispone di un sistema di gestione centralizzata degli utenti su LDAP
questo può essere utilizzato usando la seguente configurazione (per i dettagli
sulle direttive si veda [wiki:Apache2.2DavLdap]): {{{
Alias /backuppc /usr/share/backuppc/cgi-bin/
<Directory /usr/share/backuppc/cgi-bin/>
AllowOverride None
Options ExecCGI FollowSymlinks
AddHandler cgi-script .cgi
DirectoryIndex index.cgi
AuthType basic
AuthName "BackupPC admin"
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthLDAPURL ldap://127.0.0.1/ou=People,dc=truelite,dc=it
require valid-user
</Directory>
}}}

Il programma mantiene i dati del backup in {{{/var/lib/backuppc}}}, questo significa
che si deve avere spazio sufficiente sul filesystem di {{{/var}}} per i backup. Se si desidera allocare lo spazio su una partizione separata si deve spostare la directory sunnominata nella destinazione voluta, lasciando al suo posto un link simbolico.

Il passo successivo è la configurazione del programma, questa è mantenuta, insieme a tutti gli altri file, in {{{/etc/backuppc}}}, il file principale è {{{config.pl}}}, che contiene la definizione di una serie di variabili Perl, con le quali viene controllato il comportamento del programma. Il file è ben commentato, e le variabili sono numerosissime, per cui ci concentreremo solo sul sottoinsieme di quelle utilizzate nei vari file di configurazione relativi alle singole macchine.

Il file {{{config.pl}}} contiene infatti i valori di default, usati in maniera generica quando non ve ne sono indicati di specifici, il sistema infatti richiede che si indichi nel file {{{hosts}}} l'elenco delle macchine di cui si vuole effettuale il backup (in genere usando il relativo hostname) e poi si inseriscano le chiavi di configurazione specifiche da applicare per ciascuna di esse in un corrispondente file {{{hostname.pl}}}. Il pacchetto Debian ad esempio inserisce un {{{localhost}}} per il backup locale delle configurazioni.

Il file {{{hosts}}} ha un formato diviso in quattro colonne, la prima colonna indica il nome della macchina, questo deve poter essere risolto direttamente (si fa riferimento o ad un hostname nel proprio dominio, o a un nome di una macchina Windows risolvibile via netbios). La seconda colonna indica se deve essere fatta o meno una ricerca basata netbios sul range fornito dal DHCP, ed in genere deve restare impostata a zero. Il terzo campo indica l'utente (locale) per conto del quale viene eseguito il backup (usato pure per l'accesso all'interfaccia web). Se ne possono specificare altri, sempre per username, in un elenco separato da virgole nella quarta ed ultima colonna. Un esempio di questo file potrebbe essere il seguente: {{{
...
host dhcp user moreUsers # <--- do not edit this line
#farside 0 craig jill,jeff # <--- example static IP host entry
#larson 1 bill # <--- example DHCP host entry
localhost 0 backuppc
phi 0 backuppc
}}}

Se si usa il metodo con {{{rsync}}} o comunque ssh, sarà necessario installare una chiave per l'accesso alle macchine di cui si vuole fare il backup, questo richiede che si generi una coppia di chiavi per l'utente {{{backuppc}}} con: {{{
su - backuppc
ssh-keygen -t dsa
}}}
avendo cura di mettere una password vuota, e che poi le si copino sulle macchine di cui si vuole fare il backup.

rrsync - Script rrsync con patch per BackupPC (6.79 KB) Simone Piccardi, 07/28/2016 03:46 PM