• [^] # Re: pistes

    Posté par . En réponse au message Problème sur enchainement de commandes find et rsync. Évalué à 1.

    Bonjour Gil

    echo $SHELL renvoit /bin/sh

    La commande find $(find /share/data2/D -type d -maxdepth 1 -name 22_11\*) -type f -name 7964.vce me renvoit le massage ci dessous

    BusyBox v1.01 (2013年04月25日-18:11+0000) multi-call binary

    Usage: find [PATH...] [EXPRESSION]

    CSearch for files in a directory hierarchy. The default PATH is
    the current directory; default EXPRESSION is '-print'`

    Pour lui le Path avec $ n'est pas reconnu visiblement.

    Entre temps j'ai essayé avec print0 et xargs -0 sans succès, je dois mal m'y prendre ou alors la limitation du bash fait que ca ne marche pas , j'ai essayé la commande suivante et d'autres variantes :
    /opt/bin/find . -maxdepth 1 -type d -name "22_11_*" -exec /opt/bin/find {} -name "7964*.vce" -print0 \; | xargs -0 rsync -aR "/share/data2_export/7964/"

    j'ai le message de retour suivant :
    'ERROR: destination must be a directory when copying more than 1 file
    rsync error: errors selecting input/output files, dirs (code 3) at main.c(788) [Receiver=3.0.7]
    rsync: connection unexpectedly closed (9 bytes received so far) [sender]
    rsync error: error in rsync protocol data stream (code 12) at io.c(601) [sender=3.0.7]'

    J'arrive à stocker les résultats de la commande suivante dans un fichier liste.txt dans lequel la liste des fichiers à copier est correcte mais je ne parviens pas via Rsync à ce qu'il reprenne le contenu de cette liste qui pourrait être une solution.

    /opt/bin/find . -maxdepth 1 -type d -name "22_11_*" -exec /opt/bin/find {} -name "7964.vce" > liste.txt \;