User Tools

Site Tools


doc:appunti:linux:sa:backuppc

BackupPC

Test e alcune considerazioni

Si è provato il programma per fare il backup di diverse postazione Windows remote, tramite OpenVPN. Ci sono state diverse difficoltà da superare, il risultato complessivo è stato NON soddisfacente.

Nome Windows, risoluzione broadcast, ecc.

BackupPC, per impostazione predefinita, effettua il backup di un PC Windows direttamente tramite protocollo SMB, senza necessità di client dedicati. Questo funziona bene in rete locale, con risoluzione dei nomi broadcast tipo nmbLookup (dal pacchetto samba-common-bin).

Far funzionare la cosa in rete geografica (tramite un firewall OpenVPN) è più complicato, perché:

  • L'host non è raggiungibile direttamente, ma tramite DNAT.
  • Host diversi sono raggiungibili dietro un singolo indirizzo IP.
  • Host diversi vengono distinti tramite porte TCP/IP diverse.

Ecco come si è provato a risolvere il problema:

  1. Nell'interfaccia (Edit Hosts) web si inserisce il nome dell'host da backuppare.
  2. Tale nome viene risolto tramite nmblookup al momento del backup, il che ovviamente non funziona. Nelle impostazioni Edit ConfigBackup SettingsNmbLookupFindHostCmd si è indicato un eseguibile diverso da nmblookup. In pratica si è creato uno script personalizzato che riceve il nome di un host e restituisce l'indirizzo IP, emulando l'output di nmblookup.
  3. Per ogni host da backuppare si è creato un file di configurazione personalizzato /etc/backuppc/<hostname>.pl. In questo modo è possibile indicare un eseguibile smbclient personalizzato, si è utilizzato un trucco per poter specificare una porta TCP/IP diversa da quella predefinita (445/TCP). Si imposta la variabile $Conf{SmbClientPath} ad uno script personalizzato che a sua volta chiama /usr/bin/smbclient -p 10445 $@.

File da includere/escludere

Volendo personalizzare l'elenco dei file da salvare per ogni host, si è creato un file del tipo /etc/backuppc/<hostname>.pl:

$Conf{XferMethod} = 'smb';
$Conf{SmbShareName} = 'c';
$Conf{SmbShareUserName} = 'backuppc';
$Conf{SmbSharePasswd} = 'password';
$Conf{SmbClientPath} = '/usr/local/bin/smbclient_10445';
#$Conf{BackupFilesExclude} = ['/home/*'];
$Conf{BackupFilesOnly} = ["Documents"];

ATTENZIONE! Stando alla documentazione non è possibile utilizzare contemporaneamente le opzioni BackupFilesOnly e BackupFilesExclude: la prima ha la precedenza sulla seconda.

ATTENZIONE! L'impostazione personalizzata di $Conf{SmbClientPath} serve a poter specificare una porta TCP/IP custom al comando smbclient, pare che non ci sia modo alternativo di specificarla.

Nomi con gli spazi

Utilizzando la direttiva $Conf{BackupFilesOnly} ci siamo scontrati con il problema degli spazio nei nomi delle directory. La documentazione non dice come fare: inserire gli spazi direttamente nel nome del file, oppure utilizzare caratteri di escape o doppie virgolette non pare funzionare.

$Conf{BackupFilesOnly} = ["Documents?and?Settings", "Program?Files"];

Permessi

FIXME Si è creato un utente apposito per effettuare il backup, assegnandogli i permessi di Administrator. Purtroppo questo pare non sufficiente, entrando in maniera interattiva con smbclient non si riesce a discendere in tutte le directory a cui si vorrebbe avere accesso.

doc/appunti/linux/sa/backuppc.txt · Last modified: 2018/06/26 12:13 by niccolo