Forum général.cherche-logiciel synchroniser des modifications dans mon arborescence

Posté par  .
Étiquettes : aucune
0
20
août
2007
Bonjour,
je cherche un logiciel me permettant de répercuter sur une machine distante des modifications de l'arboresence de ma machine, genre renommage/déplacement et supression de fichier. Les contenus des fichiers ne sont pas amenés à évoluer, donc pas besoin de rsync je pense pour faire un diff des fichiers.
Le logiciel doit éviter au maximum de transférer les fichiers s'ils sont déjà présents sur l'autre machine, mais pas à la bonne place.
Je songeai à 2 possibilités:
1) Un logiciel qui calcule un checksum de tous les fichiers présents dans le repertoire qui nous interesse sur la machine distante, et qui identifie les couples de fichiers locaux/fichiers distants grace au checksum
2) Un logiciel par laquel je devrai passer pour faire des modifications sur mon arborescence locale, et qui se contenterait d'envoyer un log traitable apr la machine distante.

La solution 1 m'interesant clairement plus

Pour être honnête, je pense que c'est faiable, mais j'ai pas trop le temps de faire du dev personnel.

Merci!
  • # à chaque probleme sa solution

    Posté par  . Évalué à 1.

    solution 1 : rsync

    solution 2 : utiliser une tierce machine avec un serveur svn, git ou tout autre logiciel de gestion de version
    • [^] # Re: à chaque probleme sa solution

      Posté par  . Évalué à 2.

      precisions, car ne n'avais pas lu tout ton post.

      rsync ne regarde pas le contenu des fichiers, simplement si le fichier a changé.

      svn lui ira enregistrer les changements à l'interieur des fichiers.
      • [^] # Re: à chaque probleme sa solution

        Posté par  . Évalué à 1.

        Désolé je pense que rsync ne marchera pas vu que je serai amené à déplacer et renommer des fichiers. C'est d'ailleurs le principal problème.
        En gros je veux pouvoir faire un backup de mon dossier photo avant renommage, et un autre après, sans avoir à 2 fois tranférer l'intégralité des photos.
        Et svn est plus orienté gestion de projet de développement.
        • [^] # Re: à chaque probleme sa solution

          Posté par  . Évalué à 1.

          je comprend mieux ton histoire de log.

          pour resumé et pour aider à la comprehension, tu voudrais :
          1°) envoyer tes photos sur ton serveur de backup
          2°) faire tes modifs en local et donc loguer :
          - je deplace cette photo
          - je renomme une autre photo
          - je supprime la 3e

          3°) envoyer le log au serveur, qui referra les manips.
      • [^] # Re: à chaque probleme sa solution

        Posté par  . Évalué à 1.

        Heu si rsync regarde le contenu, il decoupe le fichier en bloc et fait une checksum de chaque bloc pour savoir si l'un d'eux a changé sur la cible ou la source et ne transmet que les blocs modifiés. Enfin c'est ce qu'il me semblais et c'est ce que j'ai compris de l'article wikipedia.

        Sur http://en.wikipedia.org/wiki/Rsync :

        "...The sender then sends the recipient those parts of its file that didn't match any of the recipient's blocks, along with assembly instructions on how to merge these blocks into the recipient's version to create a file identical to the sender's copy..."
        • [^] # Re: à chaque probleme sa solution

          Posté par  . Évalué à 1.

          oui c'est une methode pour savoir si le fichier à changer et pour ne transferer qu'un morceau plutot que la totalité.

          ce que je voulais dire c'est qu'il ne regarde pas si tu as rajouté un chapitre à ton fichier roman.txt pour envoyé le chapitre manquant sur le serveur, il regarde le fichier au niveau filesystem contrairement à SVN ou GIT qui ira voir dans le fichier faire un diff des fichiers pour envoyer le diff.

          ou alors j'ai rien compris...
  • # voir cet autre post

    Posté par  . Évalué à 1.

    • [^] # Re: voir cet autre post

      Posté par  . Évalué à 1.

      Oui mais svn oblige à systématiquement passer par les commandes svn, ce qui je trouve est pénible, je pensai retrouver quel fichier corespondait à l'autre à l'aide de md5 ou du n° de inode
      • [^] # Re: voir cet autre post

        Posté par  . Évalué à 1.

        donc en gros un systeme de fichier dans une base de données

        avec
        ID (ou md5sum), nom du fichier, emplacement du fichier

        mais il te faudra quand meme faire tes propres commandes pour deplacer, copier, renommer, inserer tes fichiers
  • # Liens physiques et rsync

    Posté par  . Évalué à 1.

    Avec l'inode (un peu plus haut) tu n'étais pas loin d'une solution: Plutôt que de renommer tes fichiers, fais des liens physiques (ln sans le -s), ensuite, rsync avec l'option -H va préserver à l'autre bout ces liens physiques (donc normalement juste création du lien, pas de nouveau transfert) ensuite tu n'a plus qu'à supprimer les anciens noms des fichiers (que tu peux avoir stocké dans un fichier pour faire plus simple) et re-rsync avec l'option --delete pour supprimer à l'autre bout. PS: je n'ai pas testé, rsync ne se comporte peut-être pas aussi bien que je le suppose ici vis-à-vis des liens physiques.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.