Version automatisée du système FileSystem sur (Linux) Server

Donc, fondamentalement, je cherche un logiciel linux pour surveiller un dossier (et ce sont des sous-dossiers) pour tout changement et appliquer une certaine forme de version (c'est-à-dire garder une «database», ou quoi que ce soit, d'où je peux restaurer les files).

La raison pour laquelle cela ne peut pas être fait avec les SCM traditionnels (GIT, SVN, HG, quel que soit) est double:

  • la surveillance et la version doivent être automatiques (le seul critère de command étant le time)
  • le logiciel dont j'ai besoin est de faire une chose particulière, à la différence de SCM, où ils font beaucoup plus (et bien sûr, plus susceptibles d'erreurs)

Le server sur lequel sera exécuté est un VPS non géré, donc un contrôle considérable – mais je crains pas assez pour installer une partition de système de files de version.

Pendant ce time, sachez que j'ai déjà vérifié le pathement , mais je ne suis pas printingné et hésité à utiliser le logiciel mis à jour il y a 7 ans (2004).

Désolé de transmettre le mal de tête à d'autres servers-faulters, mais je ne peux pas l'aider;)

Edit: Soit dit en passant, mais je préférerais que cela soit basé sur CLI, toutes les solutions de rechange sont également les bienvenues!

Edit 2: Pas à bash linux ou n'importe quoi, mais avec le concept de signaux linux (unix), cela ne devrait pas être trop difficile à écrire (par une équipe dévouée bien sur).

En fait, j'utilise un système qui le fait déjà ( Dropbox ), mais il a un but différent et en tant que tel, le contrôle de version est limité à 30 jours (et le contrôle de version est conservé dans un stockage en ligne). Mais cela montre que le concept est tout à fait possible.

Si vous ne souhaitez pas utiliser rsync comme suggéré Zoredache, ma prochaine suggestion serait d'écrire un script qui utilise inotify pour surveiller les changements. Ce ne serait pas très difficile.

Ensuite, si votre script se charge automatiquement du file modifié dans un système de contrôle de version traditionnel (comme svn, git, etc.) ou tout simplement conserve les dernières versions X du file autrement.

Est-ce que la version est vraiment modifiée au niveau du file ou accepterez-vous un instantané périodique?

Si vous êtes prêt à accepter des instantanés périodiques, vous pouvez simplement utiliser quelque chose comme dirvish ou rsync directement. Fondamentalement, vous créez une copy complète de votre système de files, puis toutes les autres copys seront des files identiques et des files nouveaux ou modifiés seront séparés.

Dirvish est essentiellement une interface pour rsync et utilise l'option –link-dest.

Comment les users accèdent-ils au système de files? L'access via webdav est-il une option? Vous pouvez configurer SVN avec apache, et utiliser l' autoversion .

Je connais une méthode pour faire cela. Il s'agit d'un système de files exclusif et comprend d'autres éléments qui, à son tour, rendent très coûteux, mais il fait la plupart de ce que vous searchz. Il s'appelle NSS et est livré avec Open Enterprise Server de Novell 2. Contrairement à Wayback, il est encore soutenu. Il conserve ce qu'il appelle un tree de «récupération», qui conservera autant de données «supprimées» car il y a de l'espace libre sur le volume less 20% (cela peut être configuré).

L'une des mises en garde est qu'il ne suit pas les révisions aux files spécifiques, seuls les files qui sont supprimés et recréés avec de nouvelles informations. Ainsi, les files Excel seront suivis, mais les bases de données Access ne seront pas.

NSS Salvage ne suivra qu'une certaine période de time qui dépend de la quantité d'espace libre laissée sur le volume. Associez-le avec un système automatisé pour extraire des files de Salvage et dans un système de contrôle de révision plus traditionnel et vous disposez d'une solution assez puissante. Cela signifie toutefois traiter avec Novell.