2021-05-11T21:07:51Z
J'utilise principalement 2 ordinateurs :
J'ai besoin que le contenu de mes documents sur ces 2 ordinateurs soit identique.
Pour cela, j'ai jusqu'à présent utilisé 2 solutions qui marchaient très bien : syncthing et l'implémentation de rsync "openrsync". À chaque fois, mon serveur sert d'intermédiaire pour stocker les fichiers. En effet, ces 2 machines sont rarement allumées en même temps.
Toutefois, ils avaient chacun des défauts un peu gênants.
=> Solène a récemment publié un article sur les outils de synchronisation.
C'est elle qui m'a rappelé l'existence d'unison. Après relecture de sa description, il semblait tout à fait approprié pour répondre à mes besoins. Son seul défaut était de ne pas être présent de base sous OpenBSD. Toutefois, les avantages sont nombreux :
Je l'utilise pour synchroniser tous mes documents avec le profil suivant :
# Unison preferences root = /home/prx root = ssh://batman@ledzep/bckp/prx sshargs = -C # dirs path=docs path=bin path=work path=Maildir # dots path=.bookmarks path=.config path=.fceux path=.fonts path=.newsboat path=.templates path=.unison/prx_bckp.prf path=.xsession # ignores ignore=Name .*~ ignore=Name *.tmp ignore=Name *cache.db.lock
La liste est assez longue, et sera peut-être complétée petit à petit. Il y a des trucs pas vraiment utiles, car ils changent peu. Le tout pèse tout de même 44G.
Afin de m'assurer de récupérer les derniers changements lorsque j'allume ma machine, j'édite mon crontab avec la commande "crontab -e" pour y ajouter :
@reboot /home/prx/bin/xunison >/dev/null 2>&1
De même, lorsque j'éteins, je veux envoyer tous mes documents donc j'ai ajouté dans "/etc/rc.shutdown" ceci :
su prx /home/prx/bin/xunison
Cela lance le script "xunison" en tant qu'utilisateur "prx". On pourrait faire avec "doas" aussi.
Le contenu du script "xunison" lance la synchronisation. Cependant, elle le fait dans une session tmux de façon à l'afficher dans un terminal. Ça me permet d'avoir un oeil sur ce qu'il se passe, et résoudre les conflits s'il en apparaît un jour (je retirerai l'option "-batch" dans ce cas) :
#!/bin/sh # display unison in a terminal s="xunison" export DISPLAY=:0 tmux has-session -t "$s" && exit MAX=10 i=0 /usr/X11R6/bin/xwininfo -root > /dev/null while [ $i -lt $MAX ]; do /usr/X11R6/bin/xwininfo -root > /dev/null && break sleep 1 i=$(($i+1)) done tmux new -s "$s" -d /usr/local/bin/unison -auto -batch prx_bckp /usr/X11R6/bin/xterm -e tmux attach-session -t "$s"
En quelques secondes, la synchronisatoin est réalisée. C'est peu intrusif et économe en ressources.
Je vous invite à tester cet outil. Il y a même une version "no_x11" sous OpenBSD qui s'affranchit de l'interface graphique et pèse environ 6,3M.
=> syncthing | openrsync | unison
=> Envoyez votre commentaire par mail. | Mode d'emploi de la liste de diffusion pour recevoir les réponses. This content has been proxied by September (3851b).Proxy Information
text/plain