2009-07-10 5 views

Répondre

0

Si vous avez accès au shell sur le serveur distant, créez une liste des répertoires à distance (en utilisant find ou ls, ou tout ce que vous voulez utiliser dans votre script shell), et recopiez- au système que vous copiez. Ensuite, vous pouvez utiliser

for d in file_of_remote_dirs; do 
    scp /usr/some/file remote_machine:d; 
done 
4

Tout le monde oublie de gérer les espaces dans les noms de fichiers: P

Pour réutiliser l'exemple de LB:

OLD_IFS=$IFS 
IFS=$\'n' 
for i in `ssh [email protected] find /usr/some -type d -name dir` 
do 
    scp [email protected]:"/usr/some/dir/$i" . 
done 
IFS=$OLD_IFS 

boucle sur chaque ligne de sortie au lieu de chaque mot (et $ i est cité).

+0

oui vous avez raison ... j'oublie toujours ... mais je dis toujours que les espaces dans les noms de fichiers sont mal ... :-) – LB40