Table of Contents

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 :

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

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

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

Liens