Jan 012012
 

Penso che un sacco di utenti di computer siano ormai abituati al concetto di copia sul “Cloud”, con strumenti come Dropbox o Ubuntu One, è possibile avere lo stesso file salvato in più computer (anche con un diverso sistema operativo) e allo stesso tempo averne una copia su “Cloud”.
Di solito si ottiene un pò di spazio gratuito per iniziare e se avete bisogno di più spazio si deve pagare un prezzo mensile o annuale, ma questi concetti, erano già disponibili per Linux con Unison.

Unison è uno strumento per la sincronizzazione dei file per Unix e Windows. Permette di avere due repliche di una raccolta di file e directory archiviati su diversi host (o dischi differenti sullo stesso host), modificarli separatamente, e quindi aggiornarli propagando le modifiche in ogni replica.

L’ultima versione stabile, è la 2.40.63. E’ disponibile come codice sorgente e binari precompilati per Linux, Win32 e Mac OS X.


Alcune funzionalità di Unison Sono:

  • Funziona su molti sistemi operativi, e può sincronizzare i file su più piattaforme, per esempio un portatile Windows può essere sincronizzato con un server Unix.
  • Rileva ‘conflitti’ in cui un file è stato modificato su entrambe le fonti, e li visualizza all’utente
  • Comunica tramite il protocollo TCP/IP in modo che due macchine con una connessione di rete possona essere sincronizzate. Questo significa anche che i dati trasferiti possono essere cifrati con un tunneling tramite una connessione SSH.
  • Utilizza l’algoritmo di rsync sviluppata da Andrew Tridgell. Questo algoritmo trasferisce solo le parti di un file che sono cambiate, e così è più veloce che copiare l’intero file.
  • E’ progettato per essere robusto in caso di un crash del programma o del sistema o un errore di comunicazione.
  • E’ scritto in linguaggio ad oggetti Caml.

Unison su Ubuntu

Per la mia prova ho usato la mio Ubuntu 11.10, ma i concetti sono gli stessi su tutte le distribuzioni Linux.
Unison è disponibile nel repository di Ubuntu quindi lo si può installare con il comando:

sudo aptitude install unison unison-gtk

Unison-gtk è una utile interfaccia grafica per Unison, quindi suggerisco di installarla.

Unison GUI

unison-gtk
Potete far partire l’interfaccia grafica da Applicazioni -> Accessori -> Unison

La prima volta che si esegue il programma una procedura guidata vi chiederà di selezionare una directory locale e una seconda directory che può essere locale sul computer o remota (rsh e ssh supportati). Questo creerà il profilo predefinito.

Profili
I diversi processi di sincronizzazione di Unison sono chiamati ‘Profili’. Ad esempio, si può avere un profilo che sincronizza la vostra directory con la musica tra due computer in rete, e un altro profilo che sincronizza i file tra due dischi.

La scelta di un profilo
Quando si avvia Unison, vi verrà chiesto quale profilo si desidera utilizzare.

Per cambiare il profilo in uso mentre si è all’interno di Unison, andare in Synchronization -> Select a new profile from the profile dialog, o premere P.

In questa finestra è anche presente l’opzione Create New profile che permette di creare un nuovo profilo con la stessa procedura guidata che abbiamo usato nella prima esecuzione.

Anche se il funzionamento di base di Unison è piuttosto semplice, offre alcune caratteristiche avanzate, tra cui un meccanismo potente e flessibile per la risoluzione dei conflitti che fornisce un set completo di opzioni.

Una volta che Unison ha scansionato le directory, è possibile specificare il modo in cui deve gestire i conflitti con le opzioni disponibili nel menu Azioni. Ad esempio, si può scegliere di risolvere i conflitti a favore della directory desiderata, scegliendo sia di risolvere tutti i conflitti in favore della prima directory o risolvere tutti i conflitti a favore della seconda. Inoltre, è possibile forzare tutte le modifiche da una directory ad un’altra e sostituire i vecchi file con quelli nuovi.

Usare Unison dalla linea di comando

Unison può essere utilizzato anche da terminale

L’uso base è unison directory1 directory2
Di seguito viene riportato un semplice esempio per sincronizzare una directory di musica tra due cartelle dello stesso computer:

unison /home/myhome/Music /backup/Music

O se un profilo è stato creato è possibile utilizzare la sintassi: unison profilename

Conclusioni

Unison è uno strumento utile quando si desidera mantenere 2 copie dei file sui vostri computer/server, è davvero facile configurarlo con il tool grafico, ed è possibile utilizzare la riga di comando per impostare cron, come “sincronizza la mia directory con i documenti ogni 2 ore”.
L’ho trovato utile per queste situazioni, lo uso per sincronizzare una cartella dal mio computer portatile ad un grande disco USB collegato al mio desktop tramite ssh.
E per salvare un’altra directory dal mio desktop su quel disco USB.

Grazie ad un cron ho dimenticato di preoccuparmi di questo, e sono sicuro di avere una copia di backup di alcune directory che voglio tenere al sicuro e in 2 copie.

Popular Posts:

Flattr this!

  2 Responses to “Introduzione a Unison”

  1. Hello.

    Is Unison still under active development ?

Leave a Reply to Ronis Cancel reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

*