====== FreeFileSync, Unison et rsync, 3 gardes du corps de vos données ====== L’atelier du samedi 17 février sera consacré à trois logiciels libres permettant de sauvegarder, archiver ou synchroniser des répertoires et fichiers. Seuls ou en combinaison, ils peuvent satisfaire la plupart des besoins d’un utilisateur lambda ou avancé : sur différents OS, entre disques sur un même ordinateur, au travers du réseau, voire en ligne de commande ou en tâche préprogrammée. ===== Introduction ===== ===== FreeFileSync ===== FIXME : en préparation ===== Unison ===== * Logiciel de synchronisation de fichiers et répertoires, permettant donc de réaliser des sauvegardes. * Synchronisation bidirectionnelle : les modifications de chacun des répertoires sont reportées sur l'autre, la modification la plus récente étant considérée comme la bonne. Unison permet de garder à niveau des répertoires se trouvant en même temps sur deux zones de disque ou machines différentes, en ne traitant que les différences (ajout, suppression, modification). Très utile si on travaille sur deux PC différents. **Avantages :** * en local ou à distance (SSH) * multiplateforme GNU/Linux, MacOS X, Windows (cf. inconvénients) * programmation OCaml * interface graphique simple (unison-gtk, à installer sur au moins une des machines distantes) * détection et réconciliation des conflits * automatisation possible, mais conflits non résolus * version actuelle : 2.53.3 **Inconvénients :** * à distance : nécessite l'installation du logiciel des deux côtés, avec la même version * à partir de la version 2.52, ce problème est résolu * moins de contributeurs et utilisateurs * compilation et packaging par les mainteneurs des OS * versions Windows et MacOS X compliquées à installer * mingw ou WSL2 ... * version des distributions parfois anciennes (exemple 2.51.5 sous Ubuntu 22.04) * conçu pour des synchronisation déclenchées et contrôlées par l'utilisateur ==== Installation ==== ''%%(sudo) apt-get install unison unison-gtk%%'' ==== Fonctionnement et profils ==== replica ::= [protocol:]%%//%%[user@][host][:port][/path] * profils enregistrés dans le répertoire .unison de l'utilisateur * script, options,... * extension .prf Exemple (local) # Unison preferences label = main_disk_logiciels_libres <--> sauvegarde externe USB root = /home/burgilol/Documents/logiciels_libres root = /media/burgilol/cle_usb/logiciels_libres Exemple (SSH) # Unison preferences label = 1st-lenix-2nd-IP-syncdir root = /home/user_toto/syncdir root = ssh://user_toto@192.168.1.157//home/user_toto/syncdir follow = Path * sshargs = -C perms = 0 ==== Démonstration ==== ==== En ligne de commande ==== ''%%unison profil_utilisateur%%'' des options (-option) peuvent être définies ==== Références sur Unison ==== * [[https://fr.wikipedia.org/wiki/Unison_(logiciel)|Unison (logiciel) — Wikipédia]] * [[https://en.wikipedia.org/wiki/Unison_(software)|Unison (software) - Wikipedia]] * [[https://doc.ubuntu-fr.org/unison|unison [Wiki ubuntu-fr]]] * [[https://github.com/bcpierce00/unison/tree/master/src|unison/src at master · bcpierce00/unison · GitHub]] * [[https://github.com/bcpierce00/unison/wiki|Home · bcpierce00/unison Wiki · GitHub]] * [[https://raw.githubusercontent.com/bcpierce00/unison/documentation/unison-manual.pdf|unison-manual.dvi - unison-manual.pdf]] ===== rsync ===== FIXME : en préparation ===== Autres logiciels ===== * [[https://syncthing.net|Syncthing]] synchronisation continue, multiplateforme, chiffré, technologie peer2peer permettant de passer les barrières de firewall et box * [[wp>fr:Syncthing]]