find . -name "*" -exec scp '{}' [email protected]:/directory ';'
Normalerweise Ich würde alle Dateien zu einem großen Blob zusammenfassen und nur einmal „scp“ aufrufen. Etwa so:
tar czfv - file1 file2 dir1 dir2 | ssh [email protected]/ tar xvzf - -C directory
- Man könnte mit den Parametern --exclude=oder --include=von tar herumspielen.
- Eine andere Möglichkeit wäre die Verwendung von rsync.
Das geht mit nur einem Befehl scp
.
- für neuere Versionen von
scp
:
scp `find <path> -name <expression>` [email protected]:<path_where_to_copy>
- für ältere Versionen:
scp --exec=`find <path> -name <expression>` [email protected]:<path_where_to_copy>
Achten Sie darauf, find
einzukapseln Befehl zwischen Backticks ` und keine einfachen Anführungszeichen ' .
for f in `find . -name "*"`;do scp $f [email protected]/directory;done