Backuppc

Backuppc e` un software di backup con interfaccia web (e anche da command line) che usa rsync o samba per fare il backup incrementale o totale di macchine Linux o Windows. C'e` tantissimo da dire sui vantaggi e sulle limitazioni di questo software, e non e` certo questa la sede per farlo. PRO: il sistema di pooling di backuppc permette di salvare una sola volta su disco i file uguali anche tra macchine diverse.

Installazione

Per installare Backuppc su Debian Etch e` sufficiente installare il pacchetto "backuppc", il quale si porta dietro un mucchio di dipendenze. Deve essere usato in combinazione con Apache o Apache2, di default si installa Apache2.

Configurazione

Backuppc viene installato con un utente di default per la sua interfaccia web, che ha username "backuppc" e una password generata a caso. Questa password puo` essere cambiata con il comando htpasswd /etc/backuppc/htpasswd backuppc da root. L'accesso via web e` disponibile di default all'indirizzo http://<server>/backuppc/

Lo storage dei files di default viene fatto in /var/lib/backuppc, se lo si vuole spostare, al momento non e` possibile farlo se non ricompilando, quindi occorrera` linkare la destinazione con un symlink, oppure montare li` dentro un eventuale disco di backup, ovvero fare un mount in bind di una directory.

Nel file di configurazione /etc/backuppc/config.pl c'e` il parametro TopDir che dovrebbe servire a cambiare percorso di backup, ma NON va modificato, si incasina tutto.

Generazione delle chiavi per usare rsync su SSH

Sul server di backuppc e` opportuno generare delle chiavi per poter usare ssh come metodo di trasporto per i backup. Per farlo, occorre diventare l'utente backuppc e poi usare il comando per generare le chiavi asimmetriche. Siccome devono essere usate per un processo automatico, e` opportuno NON impostare una passphrase per le chiavi.

sudo backuppc
ssh-keygen

A questo punto, la chiave generata, che si trova in ./ssh/id_rsa.pub, puo` essere copiata come chiave autorizzata all'accesso in ssh sulle macchine che dobbiamo backuppare.

Configurazione di una macchina (client) Linux con rsync su SSH

Per fare il backup di una macchina Linux, usando rsync su ssh, occorre:

Questo serve a inserire nel comando l'utente giusto (non piu` root ma backuppc) e il comando "sudo".

Questo setup e` piu` sicuro del default, pero` e` fatto in modo da permettere soltanto il backup e non il restore "in place", in quanto il comando impostato con visudo in /etc/sudoers limita la funzionalita` di rsync alla sola lettura dei dati. Se occorre usare il restore diretto sulla macchina, questo setup e` totalmente inutile, tantovale accedere direttamente come root.

Backup di Windows

Il backup di macchine windows si puo' eseguire tramite samba (non richiede installazione di programmi sul client) ovvero tramite rsyncd (che esiste per win all'interno del framework cygwin). Il backup tramite samba ha alcune limitazioni importanti, la maggiore delle quali è che l'exclude o l'include all'interno di uno share permette di specificare _un'unica_ espressione regolare (vedi: https://bugzilla.samba.org/show_bug.cgi?id=389). Questa limitazione è intrinseca a smbclient, e non è facilmente aggirabile. Un possibile workaround prevede di modificare /usr/share/backuppc/lib/BackupPC/Xfer/Smb.pm rimuovendo il parametro "r" ad smbtar. In questo modo è possibile specificare piu' exclude, ma senza usare wildcard.