Pas tout à fait ce que vous avez demandé, mais avec un effet très similaire (c'est-à-dire que vous "payez" le stockage uniquement pour les fichiers qui ont réellement changé) :
Utilisation de rsync, création de liens physiques pour les fichiers inchangés.
Le gros avantage est que chaque "instantané" est une sauvegarde à part entière, c'est-à-dire que lors de la restauration, vous n'avez qu'à restaurer cet instantané (au lieu de restaurer une base et ses incréments).
Il existe une bonne documentation sur cette approche disponible sur www.mikerubel.org/computers/rsync_snapshots/
Duplicité sauvegarde les répertoires [up] en produisant des volumes chiffrés au format tar et en les téléchargeant sur un serveur de fichiers distant ou local. Étant donné que la duplicité utilise librsync, les archives incrémentielles sont économes en espace et n'enregistrent que les parties des fichiers qui ont été modifiées depuis la dernière sauvegarde. Parce que duplicity utilise GnuPG pour chiffrer et/ou signer ces archives, elles seront à l'abri de l'espionnage et/ou de la modification par le serveur.
http://duplicity.nongnu.org/
Duplicity implémente un schéma de sauvegarde traditionnel, où l'archive initiale contient toutes les informations (sauvegarde complète) et à l'avenir, seules les informations modifiées sont ajoutées. Cependant, voici quelques avantages qu'il peut avoir par rapport à d'autres solutions similaires :
-
Facile à utiliser :bien que la duplicité soit un utilitaire de ligne de commande, la sémantique est relativement simple. Pour prendre un exemple de base, cette commande sauvegarde le répertoire /usr sur l'hôte le plus distant host.net via scp :
duplicity /usr scp://host.net/target_dir
-
Archives cryptées et signées :Les archives produites par la duplicité peuvent être cryptées et signées à l'aide de GnuPG, la norme de cryptologie des logiciels libres. L'emplacement distant ne pourra pas en déduire grand-chose sur les sauvegardes autres que leur taille et le moment où elles sont téléchargées. De plus, si les archives sont modifiées du côté distant, cela sera détecté lors de la restauration.
-
Bande passante et espace efficace :Duplicity utilise l'algorithme rsync pour que seules les parties modifiées des fichiers soient envoyées à l'archive lors d'une sauvegarde incrémentielle. Par exemple, si un long fichier journal augmente de quelques lignes de texte seulement, un petit diff sera envoyé et enregistré dans l'archive. D'autres programmes de sauvegarde peuvent enregistrer une copie complète du fichier.
-
Format de fichier standard :bien que les données d'archive soient cryptées, elles se trouvent à l'intérieur dans des archives au format GNU-tar standard. Une sauvegarde complète contient des archives tar normales et les sauvegardes incrémentielles sont des archives tar des nouveaux fichiers et des deltas des sauvegardes précédentes. Les deltas sont au format produit par l'utilitaire de ligne de commande rdiff de librsync. Bien que vous ne devriez jamais avoir à consulter manuellement une archive de duplicité, si le besoin s'en fait sentir, elles peuvent être produites et traitées à l'aide de GnuPG, rdiff et tar.
-
Choix du protocole distant :Duplicity sollicite peu son serveur d'archives. Tant que les fichiers peuvent être enregistrés, lus, répertoriés et supprimés à partir d'un emplacement, cet emplacement peut être utilisé comme backend de duplicité. En plus d'augmenter le choix pour l'utilisateur, cela peut rendre un serveur plus sûr, car les clients ne nécessitent qu'un accès minimal.
Actuellement, le stockage de fichiers local, scp/ssh, ftp, rsync, HSI, WebDAV, Tahoe-LAFS et Amazon S3 sont pris en charge, et d'autres ne devraient pas être difficiles à ajouter.