Unison e la sincronizzazione di directory

Da Guide@Debianizzati.Org.
Versione del 13 apr 2006 alle 21:08 di MaXeR (discussione | contributi)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
Vai alla navigazione Vai alla ricerca

Uniso è un tool molto comodo che risolve uno dei più grandi problemi dei possesori di portatili (dopo il risparmio energetico, ovviamente): la sincronizzazione.

Mi trovo spesso nella situazione in cui un semplice rsync non basta per sincronizzare le directory documenti, dato che ci sono state modifiche da entrambe le parti! Così mi viene in aiuto unison, che permette di gestire questo genere di situazioni.

Unison è utilizzabile sia da interfaccia grafica, sia da riga di comando. In questa guida le affronteremo entrambe!

Installazione

I pacchetti sono due: unison ed unison-gtk:

# apt-get install unison unison-gtk

Utilizzo

L'utilizzo è semplice ed intuitivo; la sintassi da utilizzare è la seguente:

$ unison  root1  root2  [opzioni]

il comando permette la sincronizzazione tra le due directory. È possibile indicare la directory di un host remoto utilizzando il protocollo ssh:

ssh://username@server/directory

Supponendo di voler sincronizzare la directory Documenti presente sul dekstop con quella presente sul laptop, possiamo usare il seguente comando:

$ unisoc ssh://username@ipdesktop/Documenti Documenti

Verrà avviato il processo che controllerà lo stato delle due directory; al termine del controllo verranno poste delle domande sul da farsi, come nell'esempio sottostante:

Looking for changes
  Avis/5 minuti/PER CONOSCERE I NOSTRI ESAMI.doc
  Avis/Verbali/2004/20040609.pdf
  Universita/Architettura di Elaboratori/Sis/Introduzione_a_SIS-Algebra_di_Commutazione.pdf
  Universita/Sistemi Operativi/Slide/filesys-1_x2.pdf
  Universita/Sistemi Operativi/Slide/synchro-2_x1.pdf
  Waiting for changes from server
Reconciling changes

knio           local
chgd dir <-?-> deleted    Avis/DonareAvis  []    

Si possono individuare 5 colonne:

  1. host1: stato
  2. azione
  3. host2: stato
  4. File/Directory in questione
  5. Scelta suggerita

Se inseriamo un '?', otterremo una breve guida sulle opzioni disponibili:

f
sostituisci le raccomandazioni di Unison (equivale a premere invio)
I
ignora questa directory in modo definitivo
E
ignora i file con questa estensione in modo definitivo
N
ignora i percorsi che finiscono con questo nome
m
effettua un merge tra i due file
d
mostra le differenze
x
mostra i dettagli
l
elenca tutti i cambiamenti suggeriti
p
vai alla scelta precedente
b
come p
g
procedi immediatamente ad applicare i cambiamenti proceed immediately to propagating changes
q
esci senza effettuare alcun cambiamento
/
salta
>
effettua le modifiche da host1 a host2
.
come >
 < or ,                propagate from from local to knio