===== Unison =====
==== Késako ? ====
Un outil de synchronisation bidirectionnelle((Si vous êtes sous Windows ou OSX, regardez plutôt [[tutoriels:owncloud]])) qui conserve toutes les infos des fichiers (permissions et autres joyeusetés), écrit en OCaml.
Afin de bien prendre en main le logiciel, il est utile de consulter le [[http://www.cis.upenn.edu/~bcpierce/unison/|site officiel]]. Vous y trouverez la documentation technique en anglais. :-)
Pour les allergiques à cette langue universelle m( voici une [[http://doc.ubuntu-fr.org/unison|documentation]] en français.
Bidirectionnel : si le dossier distant et/ou le dossier local changent, les changement prennent effet des deux côtés, sauf si conflit : [[https://fr.wikipedia.org/wiki/Unison_(logiciel)#Comparaison_avec_d.27autres_outils|article wikipedia]]
==== Installation ====
À tous les coups, c'est dans votre dépôt de logiciels préféré((donc vous l'installez à grands coups de ''pacman'', ''aptitude'', ''yum'' ou ''zypper'')). Si vous comptez l'utiliser avec le sas de Centrale, il faut la version 2.40.102 (pas comme chez Debian, la dernière fois que j'ai regardé).
==== Profil pour Centrale ====
# Unison preferences
# ignore = Path {Blender}
root =
root = ssh://@sas1.centrale-marseille.fr//users/
sshargs = # -C -i /home/moviuro/.ssh/unison_schizophrenia -S none # des options ssh...
#
label = Synchro avec le sas
# logfile = /home/moviuro/logs/unison/Documents.log # À spécifier seulement si besoin
# pour les autres options, RTFM
On invoque alors la synchro avec
unison MonProfil
==== Intégrer avec systemd ====
On utilise pour cela ''%%systemd --user%%''. Avec systemd (216 et +), Nous pouvons créer des ''timers'' (équivalent de cron jobs). Voilà les fichiers dont vous aurez besoin : (remplacer partout ''X'' par un nombre)
[Unit]
Description=X minutes Timer for %i service
[Timer]
OnCalendar=*-*-* *:00/X:00
Persistent=true
Unit=%i.service
[Install]
WantedBy=multi-user.target
[Unit]
Description=Unison sync for profile %i
[Service]
Nice=19
IOSchedulingClass=2
IOSchedulingPriority=7
ExecStart=/usr/bin/unison -auto -silent %i
Puis pour activer la synchro automatique toutes les X minutes :
systemctl --user enable timer-Xminutes@unison@MonProfil.timer