find . -name "*" -exec scp '{}' [email protected]:/directory ';'
Normalmente Pondría "alquitrán" todos los archivos juntos en una gran mancha y llamaría a "scp" solo una vez. Algo como esto:
tar czfv - file1 file2 dir1 dir2 | ssh [email protected]/ tar xvzf - -C directory
- Se podría jugar con los parámetros --exclude=o --include=de tar.
- Otra opción sería usar rsync.
Puedes hacerlo con un solo comando scp
.
- para versiones más recientes de
scp
:
scp `find <path> -name <expression>` [email protected]:<path_where_to_copy>
- para versiones anteriores:
scp --exec=`find <path> -name <expression>` [email protected]:<path_where_to_copy>
Asegúrate de encapsular el find
Comando entre comillas invertidas ` y no comillas simples ' .
for f in `find . -name "*"`;do scp $f [email protected]/directory;done