Vés al contingut
08-04-2021

unisonL'unison es una eina per sincronitzar fitxers i directoris entre diferent sistemes o dins d'un mateix sistema. Fins i tot ho pot fer entre plataformes diferents, per exemple un ordinador Linux i un altre que tingui un altre sistema operatiu, ja que és un programa multiplataforma disponible en els sistemes operatius més coneguts.

Una primera cosa ha de quedar clara, no és un eina de còpies de seguretat. Per exemple si s'esborra un fitxer en una de les dues rèpliques, s'esborrarà en l'altra, ja que la idea és mantenir les còpies sincronitzades. Si hi ha conflictes, per exemple s'ha modificat un fitxer de forma diferent en cada una de les rèpliques, l'unison permetrà reconciliar el conflicte, escollint una de les dues versions sobre l'altra.

Pot tenir diverses utilitats. En el meu cas el faig servir per mantenir el meu ordinador de casa (i de viatge, perquè és un portàtil) sincronitzat amb el meu ordinador del treball, que és un ordinador de sobre taula. Així quan he de treballar a casa simplement he de sincronitzar el portàtil, i quan acabo de treballar a casa tornar a sincronitzar perquè la feina també quedi a l'ordinador de la feina. En principi es podria mantenir més d'un sistema sincronitzat, escollint en aquest cas un ordinador com a referència dels altres i sincronitzant per exemple la tauleta i l'ordinador portàtil contra aquest ordinador.

La sincronització es fa sobre el que es coneix com un túnel ssh. És a dir, es fa servir la connexió ssh entre els ordinadors per fer la transmissió de dades, cosa que la fa segura. Per aquesta raó convé tenir accés per clau privada ssh entre els ordinadors que es vulguin sincronitzar, per no haver d'entrar la contrasenya cada cop que es vol sincronitzar.

Per instal·lar l'unison en sistemes Debian o Ubuntu simplement cal donar l'ordre:

sudo apt install unison

Aquí mostro l'ordre que em permet sincronitzar el meu directori de documents entre l'ordinador de la feina i el de casa. Per això tinc un script de bash que em fa la sincronització. Aquest és el seu contingut:

#!/bin/bash

unison -batch /home/wgarcia/Docum ssh:/ordinador.feina.com//home/wgarcia/Docum

Aquesta ordre la faig des del portàtil a casa meva, i sincronitzo la carpeta "Docum" de la feina (l'ordinador es diu "ordinador.feina.com"). Simplement executant aquest script al portàtil es sincronitzen els dos ordinadors. Si hi ha algun conflicte entre fitxers, cosa que no ha de succeir si es té cura de sincronitzar sempre abans de treballar sobre els mateixos fitxers, l'ordre ens indica el conflicte i es pot resoldre mitjançant les ordres que s'indiquen en els diversos tutorials que es poden trobar a Internet. Tot i que la manera més fàcil de resoldre el conflicte es moure el fitxer conflictiu fora dels directoris que es sincronitzen a les dues rèpliques, sincronitzar (no hi haurà conflicte), tornar a posar la versió que es vulgui mantenir del fitxer a una de les rèpliques (la que ja hi era), i per últim tornar a sincronitzar perquè ja no hi haurà conflicte (el fitxer està sola a una rèplica).

Funciona amb el Drupal

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer