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 :
- 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"
- Carbon Copy Cloner (mac)
- Syncback (freeware, win)
- FreeFileSync (open source, windows)
- synkron (open source)