Recherche de site Web

Unison - Un outil ultime de synchronisation de fichiers local/à distance pour Linux


La synchronisation de fichiers est le processus de mise en miroir de fichiers et de données dans deux emplacements ou plus conformément à certains protocoles. Les fichiers et les données sont la chose la plus précieuse à l’ère des technologies de l’information. Grâce à la synchronisation de fichiers, nous garantissons qu'une ou plusieurs copies de nos données inestimables sont toujours disponibles en cas de sinistre de quelque nature que ce soit ou lorsque nous devons travailler dans de nombreux endroits.

Un bon synchroniseur de fichiers est censé avoir les fonctionnalités répertoriées ci-dessous :

  1. Synchronisation cryptographique, comme implémentation de sécurité.
  2. Un bon taux de compression des données.
  3. Une implémentation d'algorithme parfaite pour vérifier la duplication des données.
  4. Gardez une trace du changement de source de fichier.
  5. Synchronisation programmée.

L'un de ces outils est Unison. Ici, dans cet article, nous discuterons de « Unison » en détail, ainsi que de ses caractéristiques, fonctionnalités et bien plus encore.

Qu’est-ce qu’Unison ?

Unison est une application de synchronisation de fichiers multiplateforme qui est utile pour synchroniser les données entre deux emplacements ou plus, qu'il s'agisse d'ordinateurs ou de périphériques de stockage.

Caractéristiques d'Unison

  1. Publié sous licence publique générale (GPL)
  2. Open Source et multiplateforme disponible pour (Linux, Unix, BSD, Windows, Mac)
  3. Rendre disponible la même version du fichier sur différentes machines, quel que soit l'emplacement de la dernière modification.
  4. Synchronisation multiplateforme possible, c'est-à-dire qu'une machine Windows peut être synchronisée sur un serveur * nix.
  5. Communiquez via le protocole standard TCP/IP, c'est-à-dire possible entre deux machines via Internet, quel que soit l'emplacement géographique.
  6. Gestion intelligente – Afficher le conflit lorsqu'un fichier a été modifié sur les deux sources et le montrer à l'utilisateur.
  7. Connexion SSH sécurisée – Un transfert de données crypté.
  8. L'algorithme rsync est déployé ici, seule la partie modifiée est transférée et écrasée. Ainsi. c’est rapide en exécution et en maintenance.
  9. De nature robuste
  10. Écrit dans le langage de programmation « Objective Caml ».
  11. Mûri et stable, aucun développement actif requis.
  12. Il s'agit d'un programme au niveau de l'utilisateur, c'est-à-dire que l'application n'a pas besoin de privilèges de superutilisateur.
  13. Il est connu pour son cahier des charges clair et précis.

Installation d'Unison sous Linux

La version stable actuelle (Unison-2.40.102) peut être téléchargée à partir du lien ci-dessous :

Télécharger Unison 2.40.102 Stable

Alternativement, nous pouvons également télécharger et installer « Unison », s'il est disponible dans le dépôt en utilisant la commande apt ou yum comme indiqué ci-dessous.

Sur Debian/Ubuntu/Linux Mint

Ouvrez le terminal en utilisant « Ctr+Alt+T » et exécutez la commande suivante sur le terminal.

sudo apt-get install unison
Sur RHEL/CentOS/Fedora

Tout d’abord, activez le référentiel EPEL, puis installez-le à l’aide de la commande suivante.

sudo yum install unison

REMARQUE : La commande ci-dessus installera Unison sans GUI. Si vous devez installer Unison avec la prise en charge de l'interface graphique, installez le package « unison-gtk » (disponible uniquement pour les distributions basées sur Debian) à l'aide de la commande ci-dessous.

apt-get install unison-gtk

Comment utiliser l'unisson

Unison est utilisé pour synchroniser un ensemble de fichiers dans une arborescence de répertoires vers un autre emplacement avec une structure similaire, qui peut être un hôte local ou un hôte distant.

Synchronisation de fichiers locaux

Créons cinq fichiers sous votre bureau, puis synchronisons-les avec un dossier appelé « desk-back » dans votre répertoire personnel.

cd Desktop/
touch 1.txt 2.txt 3.txt 4.txt 5.txt
ls

1.txt 2.txt 3.txt 4.txt 5.txt
mkdir /home/server/desk-back

Exécutez maintenant la commande « unison » pour synchroniser vos fichiers de bureau sous « desk-back » dans votre répertoire personnel.

unison /home/server/Desktop /home/server/desk-back/
Exemple de sortie
Contacting server...
Looking for changes
Warning: No archive files were found for these roots, whose canonical names are:
/home/server/Desktop
/home/server/desk-back
This can happen either
because this is the first time you have synchronized these roots,
or because you have upgraded Unison to a new version with a different
archive format.
Update detection may take a while on this run if the replicas are
large.
Unison will assume that the 'last synchronized state' of both replicas
was completely empty. This means that any files that are different
will be reported as conflicts, and any files that exist only on one
replica will be judged as new and propagated to the other replica.
If the two replicas are identical, then no changes will be reported.If you see this message repeatedly, it may be because one of your machines
is getting its address from DHCP, which is causing its host name to change
between synchronizations. See the documentation for the UNISONLOCALHOSTNAME
environment variable for advice on how to correct this.
Donations to the Unison project are gratefully accepted:
http://www.cis.upenn.edu/~bcpierce/unison
Press return to continue.[]
...
...
Saving synchronizer state
Synchronization complete at 13:52:15 (5 items transferred, 0 skipped, 0 failed)

Vérifiez maintenant l'emplacement /home/server/desk-back, si le processus de synchronisation a réussi ?

cd /home/server/desk-back/
ls

1.txt 2.txt 3.txt 4.txt 5.txt

Synchronisation de fichiers à distance

Pour la synchronisation de fichiers à distance, vous devez avoir la même version d'Unison installée sur le serveur local et distant. Exécutez la commande suivante pour vérifier que l'unison local peut démarrer et se connecter au serveur unison distant.

unison -testServer /home/ravisaive/Desktop/ ssh://172.16.25.125//home/ravisaive/Desktop/
Exemple de sortie
Contacting server...
[email 's password: 
Connected [//tecmint//home/ravisaive/Desktop -> //tecmint//home/ravisaive/Desktop]

Les résultats ci-dessus indiquent que le serveur distant est connecté avec succès, synchronisez maintenant les fichiers à l'aide de la commande ci-dessous.

unison -batch /home/ravisaive/Desktop/ ssh://172.16.25.125//home/ravisaive/Desktop/

Exécution de l'interface graphique Unison

La première étape consiste à définir le profil, ce qui vous oblige à définir des informations de base telles que le nom d'un profil et ce que vous souhaitez synchroniser, l'emplacement source et destination, etc.

Pour démarrer l'interface graphique d'Unison, exécutez la commande suivante sur le terminal.

unison-gtk

Une fois le profil créé et la source ainsi que la destination saisies, nous sommes accueillis avec la fenêtre ci-dessous.

Sélectionnez simplement tous les fichiers et cliquez sur OK. Les fichiers commenceront à se synchroniser dans les deux sens, en fonction de l'horodatage de la dernière mise à jour.

Conclusion

Unison est un merveilleux outil qui permet d'avoir une synchronisation personnalisée dans les deux sens (bidirectionnel), disponible dans l'interface graphique ainsi que dans l'utilitaire de ligne de commande. Unison tient ses promesses. Cet outil est très simple à utiliser et ne nécessite aucun effort supplémentaire. En tant que testeur, j'ai été très impressionné par cette application. Il possède de nombreuses fonctionnalités qui peuvent être implémentées selon les besoins. Pour plus d’informations, lisez le manuel unison.

Lire aussi :

  1. Rsync (synchronisation à distance) des fichiers
  2. Synchroniseur de fichiers Rsnapshot (basé sur Rsync)

C'est tout pour le moment. Je serai bientôt de retour avec un autre article intéressant. D'ici là, restez à l'écoute et connecté à Tecmint. N'oubliez pas de nous faire part de vos précieux commentaires dans notre section commentaires.