Usare rdist per i backup

di
John Pate
traduzione di
Stefano Longo
Nel corso dell'articolo si spiega l'uso di rdist, e si mostra l'utilità effettiva di questo software per coloro che hanno più di un computer.


Nel
numero 24 di Linux Gazette (ndr, LGEI n.01/98), Gerd Bavendiek ha descritto il suo script che lui chiama "mirror." In questo script fa uso dell'utility 'rdist' che è largamente disponibile sui sistemi Unix. Nel mio articolo spiegherò come uso 'rdist', che spero darà ai nuovi utenti Linux le basi per l'articolo di Gerd, e farò vedere com'è utile 'rdist' per coloro che hanno più di un computer (che dovrebbero essere tutti gli utenti Linux oggigiorno!)

Oggi nel Regno Unito puoi comprare un sistema 486DX66 completo, incluso il monitor per cento sterline, che è un buon affare e ideale come sistema di backup del tuo computer "principale". Anche se credi che l'hard disk sia troppo piccolo (tipicamente hanno una capacità che va dai 200 ai 300 mega) oggi puoi comprare un hard disk da 2 giga per meno di cento sterline oppure uno da 850 mega per sessanta sterline. Quindi per al più 200 sterline non solo hai un sistema di backup, ma un computer funzionante che puoi usare in casi di emergenza come un guasto alla macchina "principale". Io ho due 486DX66, entrambi scartati da altri che mi sono costati nulla a parte l'upgrade di RAM e un hard disk più grande per la macchina "principale" (e un modem ovviamente - anche se adesso ho un paio di V32bis di ricambio che altre persone hanno scartato, non è magnifico il progresso). Uno ha 40 mega di RAM ed è il mio computer "principale" con Slackware 3.3. L'altro ha 8 mega di RAM e ancora Slackware 3.3. Il "backup" ha mezzo giga di hard disk che mi è stato dato perchè fa uno sgradevole rumore durante il funzionamento. Nonostante il rumore, il disco funziona benissimo ed è quindi buono come spazio di backup. Un paio di schede di rete scartate da un "cestino delle parti di recupero" e un'occhiata al NET-3-HOWTO (puoi trovarlo nella directory '/usr/doc/faq/howto' della Slackware 3.3) fanno si che i due computer comunichino l'uno con l'altro. Altre alternative sono PLIP oppure un cavo null modem, ma le schede di rete sono facili da avere oggigiorno. (Nota: schede di rete con interfacce RJ45 possono collegare insieme due computer se fai un cavo incrociato, funziona per me.)

Una volta che i computer comunicano puoi usare ftp o anche Samba per trasferire file, come pure montare vari drive e partizioni tramite NFS. Tutto divertimento. Ma il modo ideale per mantenere un "mirror" delle tue home directory in modo da non perdere qualche prezioso file è di usare 'rdist'. (Nota: ciò che segue descrive una installazione su Slackware 3.3, ma la procedura dovrebbe darti una dritta per l'inizio.) Per primo devi editare il file 'hosts.equiv' sulla macchina di "backup" (cioè quella sulla quale crei i file di backup) per permettere agli utenti di fare 'rlogin' (vedi la pagina di man per 'rlogin') al computer di "backup" da quello "principale" senza fornire la password. 'hosts.equiv' si trova in '/etc' (Slackware), il file ha una voce, 'localhost'. Aggiungi semplicemente il nome (hostname) oppure l'indirizzo IP del tuo computer "principale" (torna indietro e leggi NET-3-HOWTO, sai che devi farlo) su una nuova linea. Se hai gli account (stessi username) su entrambe le macchine, sei in grado di fare 'rlogin' al "backup" dal "principale" con il comando 'rlogin <nome_dell'altro_computer>' e non dovrebbe chiedere la password (a meno che sei 'root', ma non vuoi scherzare in giro lasciando che 'root' f accia rlogin senza una password, vero?).

Adesso stai friggendo sul gas. Crea un file chiamato 'distfile' nella tua home directory sul tuo computer "principale". Ecco uno che ho fatto prima --


HOSTS = ( johnny@pod )
FILES = ( ~/ )
EXCEPT = ( ~/.netscape ~/\(PROG\) ~/StarOffice-3.1 ~/.trash
~/.bash_history )

${FILES} -> ${HOSTS}
        install -oremove,chknfs,younger ;
        except ${EXCEPT} ;

Adesso è ora di consultare 'man rdist' per vedere cosa significa tutto questo. La prime tre linee settano variabili - è possibile dare a 'rdist' opzioni al comando di linea per modificarli, può essere di aiuto quando diventerai più avventuroso. Le ultime tre linee sono comandi per 'rdist'. Il comando 'install' copia/cancella file/directory come specificato. Il comando 'except' omette i/le file/directory specificati/e dal processo. (Se specifichi una directory significa i file della directory, subdirectory e file). La linea '-' specifica cosa va dove. Nota che 'host' è il computer di "backup" dato nella forma 'user@domain'. Questo dovrebbe essere un account su cui puoi fare 'rlogin' senza immettere la password (modifica 'hosts.equiv', vedi sopra). Se guardi l'esempio sopra, dice,

"Copia l'intera home directory a 'pod', eccetto la directory cache di Netscape, la directory trash, la roba di StarOffice e il file .bash_history."
Le opzioni di 'install' dicono,
"Rimuovi qualsiasi file sul backup che non sono sulla macchina principale, non seguire i link NFS, e non aggiornare file sulla macchina backup che sono più recenti dei file equivalenti sulla machina principale."
Nota come 'remove' e 'younger' interagiscono: 'remove' cancellerà qualsiasi file orfano, cosicchè 'younger' non manterrà nuovi file sul backup che non siano stati creati sulla macchina principale - decidi quello che vuoi! Nel caso di un backup di un account che non usi allora 'younger' non è necessario. Se è un account che usi, allora non usare 'remove' ma usa 'younger'.

Un'attenta lettura della pagina di manuale di 'rdist' dovrebbe renderti chiaro tutto questo. Avendo creato un 'distfile', tutto quello che devi fare per sincronizzare i file sulle tue due macchine è digitare 'rdist' al prompt della macchina principale e lui farà tutto e visualizzerà l'andamento. 'rdist' creerà directory quando servono, lascerà invariati permessi, proprietario, ecc., cambierà solo i file che non coincidono (puoi cambiare il criterio che usa per decidere questo, vedi la pagina 'man'). E' eccellente! Esegui 'rdist' regolarmente e non "perderai" mai più file. Meglio se esegui il backup attraverso Internet ad una posizione remota.

Puoi ritornare all'articolo di Gerd e vedere come lui usa il suo script per tenere il suo portatile e desktop in sincronia. Uno studio della pagina di man di 'rdist' renderà evidente che 'rdist' è molto potente e flessibile per gli avventurosi. Non ci sono più scuse per non aver effettuato il backup del tuo lavoro!


John Pate
Ultima modifica: Sat May 2 12:25:18 BST 1998
Per l'articolo originale: © 1998 John Pate
Pubblicato sul n. 29- Giugno 1998 di Linux Gazette
Per l'edizione italiana: © 1998 LGEI