Joseph au Cambodge

Les merveilleuses aventures de votre serviteur au pays des Khmers

17 August 2006

Rsync, mirrordir ... et un nouveau venu, unison

Cela rappellera des souvenirs à un de mes lecteurs assidus qui va être cité dans quelques instants, cela ennuiera mortellement la plupart des autres lecteurs...

Quel outil choisir pour faire des sauvegardes de documents depuis un ordinateur vers un autre ordinateur en réseau ?

J'utilisais auparavant le petit logiciel mirrordir qui me satisfaisait pleinement à deux petits bugs près, que j'ai signalés à l'auteur du logiciel, mais qui n'ont jamais été corrigés... et pour cause : cet outil n'est plus "maintenu" depuis deux ou trois ans au moins.

[Pour les novices, la maintenance d'un logiciel c'est comme celle d'un bâtiment : plus on l'utilise et plus on trouve de petites fissures, fuites et autres défauts de fabrication, et puis on essaie de répondre aux exigences nouvelles qui apparaissent : on refait une salle de bain, on modernise l'éclairage, etc.]

Pierrick, pour ne pas le nommer, avait mis en pratique une méthode de sauvegarde sur internet basée sur l'outil rsync, suivant le célèbre tutoriel de Mike Rubel (Easy Automated Snapshot-Style Backups with Linux and Rsync).

Nous avions confronté les approches (mirrordir et rsync) et cela avait donné lieu à un article mémorable de Pierrick sur son blog : Entre sauvegarde et gestion de version.

Depuis quelques semaines je cherchais une solution de sauvegarde pour le Centre Hanuman. Pour l'instant il s'agit d'assurer la sauvegarde des documents de travail (documents de bureautique : procédures, budgets, inventaires, etc.)

Bientôt il faudra également s'assurer de la sauvegarde de la base de données et des versions de l'application, mais ce sont d'autres questions.

Mon choix s'est porté provisoirement sur un outil qui s'appelle Unison. Je ne l'ai pas encore implémenté en production donc je peux encore changer d'avis mais ce petit outil me semble très bon.

La spécialité de cette outil est la synchronisation entre deux répertoires de fichiers. Si vous avez par exemple une clé USB et un ordinateur avec les mêmes documents, que vous travaillez parfois sur l'ordinateur et parfois à l'extérieur sur la clé USB, votre pire cauchemar est bien sûr d'écraser un jour la version plus récente par la version ancienne en vous trompant sur le sens de la copie à effectuer. Unison est là pour vous aider, il fonctionne en ligne de commande ou en mode graphique (non testé par votre serviteur) de façon interactive : il préconise la synchronisation de A vers B ou de B vers A suivant des critères précis, et si un fichier a été modifié des deux côtés, il signale un conflit à arbitrer par l'utilisateur.

Je compte bien utiliser Unison à titre personnel et à titre professionnel pour ces fonctionnalités de synchronisation.

Mais pour l'instant je vais juste l'employer comme outil de sauvegarde de A vers B en lui disant que A a toujours raison, qu'il faut écraser B avec les versions de A.

Vous me direz : pour cela il y a rsync, le roi des outils de "mirroring" et leur père à tous ! C'est vrai mais je cherche un outil qui garde les versions antérieures des fichiers avant de les écraser et l'ancêtre rsync ne propose que de garder une version ancienne et non plusieurs. On peut contourner cette limitation en lui indiquant un répertoire de sauvegarde différent à chaque fois qu'on le lance mais je souhaite le comportement que j'avais avec mirrordir : les sauvegardes sont dans le même répertoire que le fichier d'origine avec juste des extensions du type .bak.1 .bak.2 .bak.3 et ainsi de suite.

À tester donc, mais unison promet ce comportement, et son installation servira probablement à bien plus que cela.

Informaticiens de tous les pays (elle est trop facile) unison-nous !

5 Comments:

At 23 August, 2006 04:24, Anonymous Anonymous said...

Bonjour l'ami Joseph,

(je lis ce billet avec un peu de retard, les vacances, tout ça tout ça...)

Et bien sache qu'Unison c'est l'outil que mon frère Sylvain m'encourage à utiliser depuis plusieurs années. Et pour cause, c'est lui le mainteneur du paquet Debian [1]. Si Sylvain aime tant Unison, ce n'est pas pour ses fonctionnalités hors du commun, non, pas seulement. La particularité qui a retenu son attention, c'est le langage de programmation utilisé : Ocaml (la programmation fonctionnelle, y'a que ça de vrai).

Bref, le monde est petit ;-)

Note : Sylvain m'a dit qu'Unison était installé (et peut-être utilisé) sur environ le tiers des Debian dans le monde.

[1] http://packages.debian.org/stable/net/unison

 
At 06 October, 2006 22:21, Anonymous Anonymous said...

Bonjour,

Je voulais justte rectifier ce que Pierrick disait : il y a pas 30% d'unison sur les
debian, il y en a 3%...

Je sais pas quand je lui ais dit ca... J'ais du me tromper...

Sylvain

 
At 30 December, 2006 14:23, Anonymous Anonymous said...

juste une précision, unison semble sans doute très bien (je vais l'utiliser pour synchroniser des machines prochainement), par contre il n'est pas tout à fait juste de dire que rsync ne permet pas de garder un historique des copies précédentes, voyez ce script par exemple :

http://www.fr.linuxfocus.org/Francais/March2004/article326.shtml

on peut ainsi obtenir des sauvegardes incrémentielles sur autant de jours que l'on veut, et non pas uniquement sur une seule journée.

 
At 03 January, 2007 16:29, Blogger Joseph said...

Effectivement, tu fais bien de le préciser, si l'on change le répertoire de backup à chaque lancement de rsync, de fait, on gardera toutes les versions sauvegardées.
Dans le cas de l'article que tu mentionnes on veut conserver tout l'historique donc c'est parfait. Dans mon cas, je préfère un outil qui fasse le ménage automatiquement (option de type "garder les 3 dernières versions").
Merci encore.

 
At 05 February, 2007 04:31, Anonymous Anonymous said...

Salut,

Si tu veux des versions multiples, une compression (paramétrable!), des liaisons cryptées (ou non :) et... ne plus t'en occuper, je te conseille fortement backuppc

Jean-Yves

 

Post a Comment

<< Home