====== 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: - Nell'interfaccia (//Edit Hosts//) web si inserisce il nome dell'host da backuppare. - Tale nome viene risolto tramite **nmblookup** al momento del backup, il che ovviamente non funziona. Nelle impostazioni //Edit Config// => //Backup Settings// => //NmbLookupFindHostCmd// 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''. - Per ogni host da backuppare si è creato un file di configurazione personalizzato **/etc/backuppc/.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/.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 **[[http://backuppc.sourceforge.net/documentation.html|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.