User Tools

Site Tools


informatique:logiciels:unison

utilitaire synchronisation sauvegarde

Unison

C'est un outil de synchronisation multi-plateforme puisqu'il existe pour Windows, Linux ou Mac OS.

Sous Windows

J'ai essayé de m'en servir rapidement sous Windows mais sans succès :

  • la version graphique n'inspire vraiment pas confiance : on ne peut pas modifier ni supprimer un profil précédemment créé par exemple. Cette version plante misérablement.
  • la version texte quant à elle ne parait pas prendre en compte le fichier de configuration qu'elle a pourtant créé (vide) elle-même et que j'ai rempli à la main. Je n'ai pas pris la peine de tester en ligne de commande sous Cygwin.

Je n'ai vraiment pas passé beaucoup de temps dessus, en effet j'ai trouvé une solution plus facile (mais aussi moins puissante) : winSCP possède une option de synchronisation de répertoire. Il ne s'agit en fait que de copie intelligente (uniquement si le fichier n'existe pas dans le répertoire destination) dans un sens (local → remote OU remote → local, le logiciel ne fait pas dans les 2 sens).
Je recommande vivement de décocher “Delete files” ou de cocher “Preview changes” pour ne pas avoir de mauvaises surprise..

Un tutorial qui, pourtant, me fait penser que c'est vraiment pas dur de synchroniser : http://www.coagul.org/article.php3?id_article=481

Sous Mac

Je ne sais pas si c'est la plateforme qui veut ça, mais l'interface graphique ne plante pas et est beaucoup mieux intégrée. On peut le lancer en ligne de commande :

unison /path1 /path2

et il vous demandera ce qu'il faut faire pour chaque modification.

Ou alors on peut créer un fichier de conf avec l'extension .prf dans sa home :

mkdir ~/.unison
vi mon_profil.prf

Ensuite on le lance soit avec l'interface graphique soit avec la commande :

unison mon_profil.prf

Voici un exemple de fichier de conf commenté :

### Fichier de conf pour Unison ###

# include
#include = fichier.prf

# Les dossiers a synchroniser
root = /Users/dude/Documents/
root = /Volumes/data/backup/saveE/
# On peut aussi utiliser un répertoire distant via ssh, par exemple
#root = ssh://micah@192.168.1.2//home/micah/
 
# Soit on synchronise tout (par defaut), soit on synchronise que certains dossiers
#path = ./

# On peut lui dire d'ignorer certains fichier ou dossier
#ignore = Name .DS_Store
# Ou un chemin relatif
#ignore = Path toto/titi
ignore = Path "Machines virtuelles"

### Options ###

# On ne compare que les dates des fichiers, pas leurs contenus
fastcheck = true

# On garde une trace de ce qui s'est fait
log = true
logfile = /Users/dude/.unison

# Pour "sauvegarder" ce dossier = synchroniser que dans un sens
force = /Users/dude/Documents/

# Pour ne pas propager les permissions, par ex vers une partition vfat
#perms = 0
#ignorecase = true

# Repercute les dates des fichiers synchronises
times = true

# Sauvegarder les 3 dernieres versions du fichier toto dans bck_dir
#backup = Name toto
#backupdir = /home/dude/bck_dir
#maxbackups = 3

Logiciels concurrents

  • rsync (pas vraiment concurrent en réalité puisque Unison est basé dessus)

(exemple de commande pour faire une sauvegarde de $SRC vers $DST :

rsync -vrup --delete "$SRC" "$DST"

Liens

informatique/logiciels/unison.txt · Last modified: 2013/10/14 20:45 by 127.0.0.1