J'ai longtemps pensé à la gestion des versions des systèmes de fichiers. C'est une fonctionnalité qui tue et j'ai regardé Wayback, ext3cow, zfs, des solutions de fusibles ou simplement des superpositions cvs / svn / git.
Je considère ext3cow comme le modèle pour mes besoins. Transparent, efficace, mais je peux me passer de la ls abc@timestamp
fonction supplémentaire . Tant que j'obtiens une version automatisée et transparente de mes fichiers.
Il peut être instantané ou basé sur des instantanés à des intervalles de 10 s, 30 s, 1 m, 5 m, 15 m, etc. de 100 m à 1 Go.
ZFS n'est pas vraiment une option car je suis sur Linux (et je préférerais ne pas l'utiliser via Fuse car j'ai déjà une configuration ext3 que je veux version, pas quelque chose de nouveau).
Quelles solutions existe-t-il?
la source
Après 8 ans de recherche, j'ai trouvé le SVNFS de Marco R. Gazzetta (qui est différent d'un projet plus ancien du même nom par John Madden [dont on fait des choses différentes]). Ce SVNFS utilise svn de manière transparente dans les opérations r / w:
Il est écrit en Python et utilise FUSE:
Dans l'exemple, SVNFS utilise un répertoire séparé pour le dépôt. Bien que je ne l'ai pas testé. Pour mes besoins, j'aimerais avoir un référentiel directement dans mon répertoire de travail.
J'ai également trouvé une référence aux capacités de versioning de Reiser4 il y a 4 ans:
Mais je ne l'ai pas vérifié aussi.
Il y a deux ans, je suis allé chercher plus loin, j'ai trouvé le projet FiST pour générer des systèmes de fichiers empilables et j'ai contacté le prof. Erez Zadok de l' Université de Stony Brook, qui était conseiller / mentor pour le projet appelé versionfs il y a longtemps. Citant:
http://www.fsl.cs.sunysb.edu/docs/versionfs-fast04/
http://www.fsl.cs.sunysb.edu/docs/versionfs-msthesis/versionfs.pdf
Cela m'a semblé très intéressant, mais contacter les gars qui ont travaillé sur le projet a révélé que le code source n'est pas connu. Le professeur lui-même a déclaré par courrier:
Il n'y a donc pas de projet de travail ici bien que le concept de systèmes de fichiers empilables me semble très agréable. Quelqu'un souhaite-t-il démarrer un projet basé sur des enveloppes , informez-moi s'il vous plaît :)
la source
Vous pouvez vérifier les gitfs . C'est un système de fichiers FUSE basé sur git, assez stable et super facile à utiliser.
Fondamentalement, c'est une superposition sur git. Chaque fois que vous mettez à jour un fichier ou un répertoire, il crée une validation avec ce changement (sait que les validations sont regroupées pour ne pas se retrouver avec 100 validations lorsque vous décompressez une archive). Sait également synchroniser votre télécommande et fusionner les conflits en utilisant la stratégie «toujours accepter le mien».
Lorsque vous le montez, il vous apporte deux répertoires: actuel et historique .
├── current │ ├── test1.md │ ├── test2.md │ ├── test3.md -> current/test2.md │ ├── test4.md │ └── test_directory └── history ├── 2014-11-23 │ ├── 20-00-21-d71d1579a7 │ │ └── testing.md │ └── 20-42-32-7d09611d83 │ ├── test2.md │ └── testing.md ├── 2014-12-08 │ ├── 16-38-30-6d6e71fe47 │ │ ├── test2.md │ │ └── test1.md
Plus d'informations peuvent être trouvées sur cette page .
la source
bup semble prometteur.
Discussion plus ancienne à ce sujet ici: http://lwn.net/Articles/380983/
la source
Essayez rsnapshot - je ne l'ai pas utilisé moi-même, mais je suis tombé dessus en regardant les systèmes de déduplication au niveau des fichiers @.
la source
Jetez un œil à Hot Copy de R1Soft.
http://www.r1soft.com/tools/linux-hot-copy/
Il s'agit d'un module de noyau qui fournit des instantanés de copie sur écriture pour les systèmes standard sans utiliser LVM. Cela a assez bien fonctionné pour moi et je peux l'installer sans redémarrage.
Voir également: http://www.r1soft.com/tools/linux-hot-copy/hcp-tips/
la source