• # une solution en 5 lignes de shell

    Posté par . En réponse au message Réplication données sur réseau local (P2P ?). Évalué à 1.

    Soit tu pars sur une solution à base de système de fichier distribué, soit, si ton système n'est pas critique, je pense qu'on peut faire un truc utilisable avec à base d'inotify et rsync.
    L'idée c'est que inotify monitore les modifications faites sur un répertoire, et dès qu'une modification est faite, rsync le synchronise avec les autres noeuds.
    Un truc du genre, en shell (non testé) :


    #!/bin/sh

    DIR_TO_MONITOR="/home/foo"
    NODES="toto tata tutu"
    REMOTE_PATH=`dirname $DIR_TO_MONITOR`

    SYNC_CMD="rsync -aqz --contimeout=3 --timeout=3"
    MONITOR_CMD="inotifywait -mr"


    $MONITOR_CMD $DIR_TO_MONITOR | while read; do
    for node in $NODES; do
    $SYNC_CMD $DIR_TO_MONITOR $node:/$REMOTE_PATH
    done
    done



    Bon, c'est juste une illustration (rsync est appelé à chaque événement, tu pourrais lancer une instance par noeud en parallèle, etc), mais ça te donne une idée. Il existe peut-être même déjà des outils qui font ça...