• # Avec tar

    Posté par . En réponse au message rsync, plusieurs sources, plusieurs destination. Évalué à 3. Dernière modification le 08 décembre 2021 à 21:07.

    Tu peux utiliser tar --xform= pour créer une archive. Par exemple, pour le premier fichier: tar -c --xform='s|^a/d/p/e/fic1\.jpg$|files/ref1/fic1/thumbnail.jpg|' files/ref1/fic1/thumbnail.jpg

    Attention à bien échapper le fichier source, --xform étant une regexp sed. --xform étant répétable, tu peux renommer tous tes fichiers dans l’archive ainsi.

    Pour transférer avec ssh, tar -cz ... | ssh user@host tar -xzvC /destination/path

    Par contre, pas de transfert incrémental (ie seulement de ce qui a été modifié) avec cette méthode, à moins que tu aies la créer des archives incrémentales (--listed-incremental) depuis la source.

    Attention également à ne pas renommer un fichier (a/d/e/fic1.jpg) en dossier (files/).

    Attention aussi, les dossiers intermédiaires doivent être ajoutés dans l’archive (si tu renommes un fichier en files/ref1/fic1/thumbnail.jpg, tu dois d’abord t’assurer que files/, files/ref1/... ont précédemment été ajoutés dans l’archive (ou alors soient déjà présents sur la destination) : tar ne créera pas automatiquement les répertoires intermédiaires.