Synchronisation des fichiers entre plusieurs machines : Unison

De Wiki du LAMA (UMR5127)
(Différences entre les versions)
Ligne 1 : Ligne 1 :
Utilisation d'unison
+
Unison permet de synchroniser des fichiers entre deux machines. C'est le moyen recommandé
 +
pour avoir vos fichiers (page web inclue) sur le server. Unison marche sur Unix, OS X et windows.
  
 
* Documentation : http://www.cis.upenn.edu/~bcpierce/unison/download/releases/stable/unison-manual.html
 
* Documentation : http://www.cis.upenn.edu/~bcpierce/unison/download/releases/stable/unison-manual.html
  
 
* Téléchargement : http://www.cis.upenn.edu/~bcpierce/unison/download.html
 
* Téléchargement : http://www.cis.upenn.edu/~bcpierce/unison/download.html
 
  
 
* Configuration basique :
 
* Configuration basique :
  
- Le fichier de configuration '''default.prf''', qui définit un profil d'utilisation, doit être dans le répertoire
+
Unison utilise un fichier de configuration XXX.prf (XXX est le nom que vous donnez au profile)
'''/home/toto/.unison'''
+
qui peut être créé avec l'interface graphique d'unison. Toutefois pleins d'options utiles doivent
 
+
être ajouté à la main dans le fichier.
- A titre d'exemple, le fichier ci-dessous permet de synchroniser certains dossiers entre un compte local et un compte distant
+
<tt>
+
  
#Path local
+
- Le fichier de configuration est dans le répertoire .unison à la racine du dossier personnel sous windows et
root=/home/toto
+
dans Library/Application Support/Unison sur OS X.
#path distant (avec connexion ssh entre les deux machines)
+
root=ssh://toto@remotehost.domaine.fr//home/toto
+
#Liste des dossiers à synchroniser (par défaut : tous)
+
path=Bibliographie
+
path=Rapports
+
path=Codes_Importants
+
#Remarque importante :
+
#La version d'unison doit être la même sur les 2 machines : il faut donc préciser à la machine distante quelle version utiliser
+
servercmd=/usr/local/bin/unison-2.27
+
  
</tt>
+
- Voici une configuration recommandée type au LAMA (il faut la modifier en fonction de vos besoins
 +
en particulier les "roots"
 +
<code>
 +
  root = /home/username/
 +
                  #repertoire sur le client synchroniser avec le labo is tout le home de "username"
 +
  root = ssh://username@www.lama.univ-savoie.fr//home/raffalli/
 +
                  #repertoire sur le serveur du lama (idem ici tout)
 +
  follow = Path WWW # on veut suivre le raccourci WWW pour synchroniser aussi sa page web perso
 +
  maxthreads = 1    # évite de trop charger le serveur
 +
  rsrc = false      # utile si vous trvaillez avec des machines OS X et d'autres qui ne le sont pas
 +
 
 +
  #Remarque importante :
 +
  #La version d'unison doit être la même sur les 2 machines :
 +
  # il faut donc préciser à la machine distante quelle version utiliser
 +
  # sauf si vous utilisez unison-2.40.XX (version stable actuelle)
 +
  # il suffit de décommenter la ligne suivante:
 +
  # servercmd=/usr/local/bin/unison-2.27
 +
 
 +
  # si vous ne voulez pas synchroniser tous les dossiers dans les racines spécifiées ci dessus
 +
  # vous pouvez ajouter des lignes de ce type (qui donne des chamins depuis la racine):
 +
  path=Bibliographie
 +
  path=Rapports
 +
  path=Articles
 +
 
 +
  # De plus vous voulez certainement ignorer certains fichiers
 +
  # ou peut modifier cette partie depuis l'interface graphique d'unison avec
 +
  # le menu ignore
 +
  ignore = Path .unison # ignore un fichier depuis la racine
 +
  ignore = Name core    # ignore tous les fichiers qui s'appelle core
 +
  ignore = Name *.log  # ignore tous les fichiers qui ont l'extension .log
 +
</code>
  
 
- Pour une configuration plus élaborée (comme par exemple l'utilisation de plusieurs fichiers de configuration différents), consultez la documentation (voir + haut).
 
- Pour une configuration plus élaborée (comme par exemple l'utilisation de plusieurs fichiers de configuration différents), consultez la documentation (voir + haut).
  
- Si vous synchronisez un Mac il vaut mieux utiliser l'option suivante dans le fichier de configuration:
+
- Pour éviter de taper le mot de passe à chaque synchronisation aller voire [[SshAvecAfs]]
rsrc = false
+

Version du 4 septembre 2014 à 08:28

Unison permet de synchroniser des fichiers entre deux machines. C'est le moyen recommandé pour avoir vos fichiers (page web inclue) sur le server. Unison marche sur Unix, OS X et windows.

  • Configuration basique :

Unison utilise un fichier de configuration XXX.prf (XXX est le nom que vous donnez au profile) qui peut être créé avec l'interface graphique d'unison. Toutefois pleins d'options utiles doivent être ajouté à la main dans le fichier.

- Le fichier de configuration est dans le répertoire .unison à la racine du dossier personnel sous windows et dans Library/Application Support/Unison sur OS X.

- Voici une configuration recommandée type au LAMA (il faut la modifier en fonction de vos besoins en particulier les "roots"

 root = /home/username/ 
                 #repertoire sur le client synchroniser avec le labo is tout le home de "username"
 root = ssh://username@www.lama.univ-savoie.fr//home/raffalli/ 
                 #repertoire sur le serveur du lama (idem ici tout)
 follow = Path WWW # on veut suivre le raccourci WWW pour synchroniser aussi sa page web perso
 maxthreads = 1    # évite de trop charger le serveur
 rsrc = false      # utile si vous trvaillez avec des machines OS X et d'autres qui ne le sont pas
 
 #Remarque importante :
 #La version d'unison doit être la même sur les 2 machines : 
 # il faut donc préciser à la machine distante quelle version utiliser
 # sauf si vous utilisez unison-2.40.XX (version stable actuelle)
 # il suffit de décommenter la ligne suivante:
 # servercmd=/usr/local/bin/unison-2.27
 
 # si vous ne voulez pas synchroniser tous les dossiers dans les racines spécifiées ci dessus
 # vous pouvez ajouter des lignes de ce type (qui donne des chamins depuis la racine):
 path=Bibliographie
 path=Rapports
 path=Articles
 
 # De plus vous voulez certainement ignorer certains fichiers
 # ou peut modifier cette partie depuis l'interface graphique d'unison avec
 # le menu ignore
 ignore = Path .unison # ignore un fichier depuis la racine
 ignore = Name core    # ignore tous les fichiers qui s'appelle core
 ignore = Name *.log   # ignore tous les fichiers qui ont l'extension .log

- Pour une configuration plus élaborée (comme par exemple l'utilisation de plusieurs fichiers de configuration différents), consultez la documentation (voir + haut).

- Pour éviter de taper le mot de passe à chaque synchronisation aller voire SshAvecAfs

Outils personnels