Scp recursif, regex

Résolu
Bonjour,

je souhaiterais faire une copie récursive d'un dossier avec scp,
sachant que voudrais seulement copier les fichiers de type ".jpg"
J'ai essayé des commandes comme celle ci-dessous sans y parvenir.

scp -r dossier_source/*.jpg  serveur:/dossier_destination/

erreur : "scp: No match."

Merci d'avance de votre aide.
Yann

2 réponses

  1. Contributeur
    Salut,

    Et avec
    rsync
    via
    ssh
    ?

    PC local :
    Répertoire source :
    $ pwd
    /home/jp/trash


    Contenu :
    $ tree .
    .
    `-- D1
    |-- bookmarks.html
    |-- D2
    | |-- D3
    | | |-- Menu_027.png
    | | |-- pieces_auto-2.jpg
    | | `-- QEMU_090.png
    | |-- ficheConseil.pdf
    | |-- Firefox_wallpaper.png
    | `-- pi_093.png
    |-- HP-8615.pdf
    `-- Terminal_082.png

    3 directories, 9 files


    PC distant :
    Contenu répertoire destination :

    jp@debian8:~$ tree test/
    test/

    0 directories, 0 files


    Commande rsync qui va bien :
    $ rsync -avR -e ssh --include='*/' --include='*.png' --exclude='*' /home/jp/trash/./D1 jp@192.168.10.61:/home/jp/test/
    sending incremental file list
    D1/
    D1/Terminal_082.png
    D1/D2/
    D1/D2/Firefox_wallpaper.png
    D1/D2/pi_093.png
    D1/D2/D3/
    D1/D2/D3/Menu_027.png
    D1/D2/D3/QEMU_090.png

    sent 1,282,169 bytes received 135 bytes 854,869.33 bytes/sec
    total size is 1,281,374 speedup is 1.00


    Contenu du répertoire distant :
    jp@debian8:~$ tree test/
    test/
    └── D1
    ├── D2
    │   ├── D3
    │   │   ├── Menu_027.png
    │   │   └── QEMU_090.png
    │   ├── Firefox_wallpaper.png
    │   └── pi_093.png
    └── Terminal_082.png

    3 directories, 5 files

    1. Merci zipe31, ça fait le job impec ! Merci également à dubcek d'avoir répondu.
  2. Contributeur
    hello
    dossier_source existe avec des .jpg ?
    scp no match, c'est l'erreur que j'ai en tcsh quand 1 des 2 n'existe pas
    1. Merci pour ta réponse,
      voici quelques infos supplémentaires :

      echo $SHELL
      /bin/csh


      "dossier_source" existe bien, il ne contient pas de fichiers,
      mais uniquement des dossiers et sous-dossiers.
      Je souhaiterais transférer à la fois l'arborescence et les fichiers ".jpg" uniquement.

      je fais :

      cd mon_dossier
      scp -r ./*.jpg serveur:/dossier_destination/
    2. Contributeur
      si il n'y a as de fichier dossier_source/*.jpg scp ne va rien trouver, d'ou l'erreur
      scp ne recrée l'arborescence que si source est un répertoire
    3. Je voulais dire que dossier_source n'a pas de .jpg à sa racine, mais il en a dans ses sous-dossiers.
      Faut-il que que fasse une itération sur chaque sous dossier de dossier_source, pour être sûr de trouver des .jpg ? (les sous-dossier de dossier_source ont tous des .jpg). Du coup j'oublie l'option [-r] de scp et je gère l'arborescence différemment ?