Sauvegarde entre amis

Les sauvegardes à l’extérieur de chez soi, sont le seul moyen de protéger ses données en cas de vol, d’incendie ou autres joyeusetés du genre.

J’avais, il y a quelques années envisagé une sauvegarde entre amis.

Paul réserve sur son pc une place suffisante pour les sauvegardes de Marie et Marie réserve sur son pc une place suffisante pour les sauvegardes de Paul.

À l’époque, les choses étaient réalisables mais assez compliquées pour deux raisons :

  • Quand Paul veut faire une sauvegarde, l’ordinateur de Marie n’est pas forcément allumé.

  • Les ordinateurs n’ont pas des adresses fixes à long terme.

Les choses ont changé avec l’apparition du cloud

L’idée clé consiste à passer par le cloud comme intermédiaire. Ceci peut se faire avec une offre gratuite très limitée en taille puisqu’on ne va transmettre que ce qui a changé depuis la sauvegarde précédente.

On raisonne ici autour d’une configuration Dropbox. Quand Paul fait une sauvegarde de ses nouveaux fichiers, ils sont déposés dans un répertoire partagé en lecture et écriture par Paul et Marie. Appelons ce répertoire sauve_Paul. Un peu plus tard, l’ordinateur de Marie recopie les fichiers dans l’espace réservé sur son disque dur. Ensuite les fichiers de sauve_Paul sont effacés.

La même chose a lieu en sens inverse de Marie à Paul en utilisant le répertoire sauve_Marie.

Tout doit être automatisé. À partir d’ici, je ne parlerai plus que des sauvegardes de Paul sur l’ordi de Marie.

A -Repérage des fichiers à transmettre

Ce sont les fichiers créés ou modifiés depuis la dernière sauvegarde. On utilise le bit d’archive. On transmet dans sauve_Paul les seuls fichiers dont le bit d’archive est a 1 et on met ce bit à 0 (chez Paul).

Il ne faut pas faire parallèlement une autre sauvegarde basée sur le bit d’archive.

B -Transmission des nouveaux fichiers

On utilise un logiciel de sauvegarde travaillant de façon classique avec le bit d’archive. Exemple avec Dropbox : les fichiers sont copiés dans le dossier Dropbox de Paul dans le sous-dossier sauve_Paul (partagé avec Marie).

C -Récupération des fichiers par Marie

Le logiciel de Marie doit copier tous les fichiers du dossier sauve_Paul à l’endroit prévu, puis effacer tous les fichiers de sauve_Paul. Le logiciel devra copier les fichiers même s’il en trouve un exemplaire avec le même nom sur la destination, mais c’est ce que font les logiciels de sauvegarde

D -La planification

Il faut tenir compte du fait qu’un temps non négligeable est nécessaire pour transmettre les fichiers sur les serveurs de Dropbox puis de là sur l’ordinateur de Marie.

On pourrait envisager de faire des sauvegardes hebdomadaires. On charge les fichiers le lundi et on les recopie le jeudi. Si Marie rate la copie du jeudi, elle pourra la faire vendredi, samedi ou dimanche. Si elle passe une semaine sans recopier, pas de problème, la sauvegarde sera plus grande la prochaine fois. Toutefois, il est nécessaire pour le logiciel de Paul de gérer l’écrasement éventuel de certains fichiers qui auraient été modifiés deux fois. Mais tous les logiciels de sauvegarde font ça.

On peut fonctionner autrement. Les fichiers dans la Dropbox ont leur bit d’archive à 1. À intervalle régulier, le logiciel de Marie copie les fichiers dont le bit d’archive est à 1 et le met à 0 ; puis en fin de sauvegarde, tous les fichiers dont le bit d’archive est à 0 sont effacés. Ainsi, les fichiers qui auraient été téléchargés pendant la sauvegarde seront copiés à la prochaine sauvegarde.

E -Le démarrage

Tout ceci se passe dans une logique de sauvegarde incrémentielle. De telles sauvegardes n’ont de sens que précédées d’une sauvegarde complète. Faire cette sauvegarde par le même procédé risque de buter sur deux écueils :

  • La place accordée par Dropbox sera sans doute insuffisante.

  • Le temps de « upload » (téléchargement chez Dropbox) risque d’être rédhibitoire.

Il nous faut envisager autre chose. Le plus simple consiste à copier les fichiers sur une clé USB qui servira au transfert en une ou plusieurs fois.

***** © M Guignard *****

Comments powered by CComment