====== Unison ======
* Objet : Unison, outil de synchronisation bidirectionnelle
* Niveau requis : {{tag>débutant avisé}}
* Commentaires : //la synchronisation entre dossiers, entre systèmes, à travers le réseau.//
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !]] :-)
* Suivi : {{tag>obsolète}}
* Création par [[user>paskal]] 25/02/2015
* Testé par ... le ...
* Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?id=10702 | c'est par la-bas]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
===== Introduction =====
Unison est un logiciel de synchronisation de fichiers et de dossiers. Il permet de créer et de gérer des sauvegardes.
Son mode de fonctionnement est bidirectionnel, c'est-à-dire que les modifications d'un répertoire sont reportées sur l'autre et vice-versa.\\
Il permet donc de maintenir de façon identique le contenu de plusieurs répertoires différents.
Unison est multiplateforme et peut fonctionner à travers le réseau. Il est capable de réaliser des synchronisations entre des répertoires sous différents systèmes d'exploitation (Linux, MacOS et Windows).
Unison est écrit en langage en OCaml et publié sous licence GPL2.
===== Installation =====
apt-get update && apt-get install unison
Bien qu'il donne toute sa puissance en ligne de commande, vous pouvez souhaiter utiliser Unison à travers son interface graphique.\\
Dans ce cas :
apt-get install unison-gtk
===== Utilisation =====
unison dossier1 dossier2
Cette commande lance Unison en vue de synchroniser ''dossier1'' et ''dossier2''.
Lors du premier lancement d'Unison, vous bénéficierez d'un petit avertissement. Pour continuer, appuyez simplement sur la touche //Entrée//.
dossier1 dossier2
<---- file monfichier [f]
Proceed with propagating updates? [] y
Propagating updates
UNISON 2.40.65 started propagating changes at 15:04:09.67 on 25 Feb 2015
[BGN] Copying monfichier from /mnt/unison/dossier2 to /mnt/unison/dossier1
[END] Copying monfichier
UNISON 2.40.65 finished propagating changes at 15:04:09.67 on 25 Feb 2015
Saving synchronizer state
Synchronization complete at 15:04:09 (1 item transferred, 0 skipped, 0 failed)
Que s'est-il donc passé ?\\
Unison a trouvé, dans ''dossier2'', le fichier ''monfichier'' qui était absent de ''dossier1''.\\
Il a donc proposé de copier le fichier en question vers ''dossier1''.\\
Après acceptation (touche //y//), la copie a été effectuée.
Maintenant, effectuons quelque modification dans le fichier ''monfichier'' situé dans ''dossier1'' et relançons la commande :
unison dossier1 dossier2
Nous obtenons alors :
Contacting server...
Looking for changes
Reconciling changes
dossier1 dossier2
changed ----> monfichier [f]
Proceed with propagating updates? [] y
Propagating updates
UNISON 2.40.65 started propagating changes at 15:41:47.85 on 25 Feb 2015
[BGN] Updating file monfichier from /mnt/unison/dossier1 to /mnt/unison/dossier2
[END] Updating file monfichier
UNISON 2.40.65 finished propagating changes at 15:41:47.85 on 25 Feb 2015
Saving synchronizer state
Synchronization complete at 15:41:47 (1 item transferred, 0 skipped, 0 failed)
Cette fois, la copie s'est effectuée de ''dossier1'' vers ''dossier2''.
===== Aller plus loin =====
* Liste des commandes :
^ //COMMANDES// ^ //ACTION// ^
| ou f ou | suivre la recommandation d'Unison (si proposée) |
| I | ignorer définitivement ce chemin |
| E | ignorer définitivement les fichiers avec cette extension |
| N | ignorer définitivement les chemins finissant par ce nom |
| m | fusionner les versions |
| d | montrer les différences |
| x | montrer les détails |
| L | lister succinctement les modifications suggérées |
| l | lister les modifications suggérées en détail |
| p ou b | revenir à l'item précédent |
| g | propager immédiatement les modifications |
| q | quitter Unison sans rien modifier |
| / | passer |
| > ou . | propager de gauche à droite |
| < ou , | propager de droite à gauche |
* Pour obtenir la liste des options disponibles :
unison --help
* Une documentation conséquente (en anglais) :
unison -doc tutorial
* La liste des topics :
unison -doc topics
===== Liens =====
* [[http://www.cis.upenn.edu/~bcpierce/unison/ | Site officiel.]]
* [[http://www.cis.upenn.edu/~bcpierce/unison/download/releases/stable/unison-manual.html | User Manual and Reference Guide.]] (en)
* [[http://doc.ubuntu-fr.org/unison | Unison sur ubuntu-fr.]]
* [[http://www.opendoc.net/solutions/comment-synchroniser-fichiers-configuration-avec-unison | Comment synchroniser des fichiers de configuration entre 2 machines avec Unison ?]]
* [[:doc:reseau:rsync | Rsync]]
* [[doc:systeme:sauvegarde|La création d'archive et la sauvegarde sous Debian GNU/Linux]]