find . -name "*" -exec scp '{}' [email protected]:/directory ';'
Normalmente Vorrei "targare" tutti i file insieme in un enorme blob e chiamare "scp" solo una volta. Qualcosa del genere:
tar czfv - file1 file2 dir1 dir2 | ssh [email protected]/ tar xvzf - -C directory
- Si potrebbe giocare con i parametri --exclude=o --include=di tar.
- Un'altra opzione sarebbe usare rsync.
Puoi farlo con un solo comando scp
.
- per le versioni più recenti di
scp
:
scp `find <path> -name <expression>` [email protected]:<path_where_to_copy>
- per le versioni precedenti:
scp --exec=`find <path> -name <expression>` [email protected]:<path_where_to_copy>
Assicurati di incapsulare il find
comando tra backtick ` e non virgolette singole ' .
for f in `find . -name "*"`;do scp $f [email protected]/directory;done