87 votes

utiliser récursivement scp mais en excluant certains dossiers

Supposons qu'il y ait des dossiers avec les structures suivantes

/bench1/1cpu/p_0/image/
/bench1/1cpu/p_0/fl_1/
/bench1/1cpu/p_0/fl_1/
/bench1/1cpu/p_0/fl_1/
/bench1/1cpu/p_0/fl_1/
/bench1/1cpu/p_1/image/
/bench1/1cpu/p_1/fl_1/
/bench1/1cpu/p_1/fl_1/
/bench1/1cpu/p_1/fl_1/
/bench1/1cpu/p_1/fl_1/
/bench1/2cpu/p_0/image/
/bench1/2cpu/p_0/fl_1/
/bench1/2cpu/p_0/fl_1/
/bench1/2cpu/p_0/fl_1/
/bench1/2cpu/p_0/fl_1/
/bench1/2cpu/p_1/image/
/bench1/2cpu/p_1/fl_1/
/bench1/2cpu/p_1/fl_1/
/bench1/2cpu/p_1/fl_1/
/bench1/2cpu/p_1/fl_1/
....

Ce que je veux faire, c'est scp les dossiers suivants

/bench1/1cpu/p_0/image/
/bench1/1cpu/p_1/image/
/bench1/2cpu/p_0/image/
/bench1/2cpu/p_1/image/

Comme vous pouvez le voir, je veux utiliser récursivement scp mais en excluant tous les dossiers dont le nom est "fl_X". Il semble que scp n'ait pas cette option.

UPDATE scp n'a pas cette fonctionnalité. A la place, j'utilise la commande suivante

 rsync -av --exclude 'fl_*' user@server:/my/dir

Mais ça ne marche pas. Il ne transfère que la liste des dossiers ! quelque chose comme ls -R

0voto

Fady Ibrahim Points 161

Celui-ci fonctionne bien pour moi car la structure des répertoires n'est pas importante pour moi.

scp -r USER@HOSTNAME:~/bench1/?cpu/p_?/image/ .

En supposant que /bench1 se trouve dans le répertoire personnel de l'utilisateur actuel. De plus, changez USER et HOSTNAME par les valeurs réelles.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X