Usa tar
:
tar cvzf - -T list_of_filenames | ssh hostname tar xzf -
Vorrei usare scp per questo, ma scp consente solo di trasferire un file alla volta.
Sono abbastanza sicuro che non sia vero, almeno non per il scp
comando fornito da OpenSSH incluso nella maggior parte delle distribuzioni Linux.
Uso scp file1 file2 ... fileN [email protected]:/destination/directory/
abbastanza frequentemente.
Per la compressione trasparente, il protocollo SSH ha questo integrato e scp
può usarlo se fornisci il -C
opzione sulla riga di comando. Per molti piccoli file simili troverai che l'opzione tar+gz suggerita da akira ottiene una compressione migliore in quanto può utilizzare la somiglianza tra tali file in cui scp
comprime ogni file come un'entità separata. Generalmente preferisco usare scp però poiché è più facile riprendere un trasferimento parziale (o, anche se so che in questa situazione l'interrogante non ha l'opzione) rsync
poiché è ancora più facile da riprendere e condivide il vantaggio della compressione dell'intero flusso dell'opzione tar+gz.
Non scp -r yourdir otherhost:/otherdir
lavorare?
Allora prova questo:
tar cfz - . | ssh otherhost "cd /mydir; tar xvzf -"
il z
-flag per tar esegue la compressione. Oppure puoi usare -C per ssh:
tar cf - . | ssh -C otherhost "cd /mydir; tar xvf -"