• # Une idée de contournement

    Posté par . En réponse au message rsync, plusieurs sources, plusieurs destination. Évalué à 3.

    Il existe une option pour lui donner un fichier contenant une liste de fichiers sources mais ils seront tous transférés à la même destination et je n'ai pas trouvé un moyen pour qu'il utilise une destination spécifique par ligne.

    Je te propose d'établir quand même un point précis sur le serveur qui va recueillir les fichiers (par exemple /reception.
    Ensuite à partir de ton fichier de 15000 lignes, du génère la liste des fichiers à transférer par rsync vers ce point, en conservant l'arborescence.

    Ton fichier a/d/p/e/fic1.jpg va atterrir dans /reception/a/d/p/e/fic1.jpg

    Tu fais donc le transfert des 15000 fichiers avec une seule excécution de rsync.

    Ensuite sur ton serveur, tu exécutes un script (générer à partir de ton gros fichier) qui va établir des liens durs (hardlink) entre les fichiers contenus dans /reception vers les endroits que tu veux.

    # sur le serveur distant
    cp -l /reception/a/d/p/e/fic1.jpg files/ref1/fic1/thumbnail/
    

    Il n'y aura donc qu'une seule fois le fichier fic1.jpg sur le disque dur, mais présent à la fois dans /reception/a/d/p/e/ et dans files/ref1/fic1/thumbnail/

    Avec cette idée, tu gardes la rapidité de synchronisation de rsync, tu évites de dupliquer les fichiers sur le serveur distant, tu as quand même les fichiers où tu veux sur ton serveur et enfin, c'est automatisable.