Unison e la sincronizzazione di directory

Da Guide@Debianizzati.Org.

(Differenze fra le revisioni)
m
Riga 60: Riga 60:
; p : vai alla scelta precedente
; p : vai alla scelta precedente
; b : come p
; b : come p
-
; g : procedi immediatamente ad applicare i cambiamenti proceed immediately to propagating changes
+
; g : procedi immediatamente ad applicare i cambiamenti
; q : esci senza effettuare alcun cambiamento
; q : esci senza effettuare alcun cambiamento
; / : salta
; / : salta
; > : effettua le modifiche da host1 a host2
; > : effettua le modifiche da host1 a host2
; . : come >
; . : come >
-
  < or ,               propagate from from local to knio
+
; < : effettua le modifiche da host2 a host1
 +
; , : come <

Versione delle 22:24, 13 apr 2006

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!

Indice


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:

sostituisci le raccomandazioni di Unison (equivale a premere invio)
ignora questa directory in modo definitivo
ignora i file con questa estensione in modo definitivo
ignora i percorsi che finiscono con questo nome
effettua un merge tra i due file
mostra le differenze
mostra i dettagli
elenca tutti i cambiamenti suggeriti
vai alla scelta precedente
come p
procedi immediatamente ad applicare i cambiamenti
esci senza effettuare alcun cambiamento
salta
effettua le modifiche da host1 a host2
come >
effettua le modifiche da host2 a host1
come <
Strumenti personali
Namespace
Varianti
Azioni
Navigazione
Risorse
Strumenti