scp'ing più file in un passaggio - a più destinazioni su un server di destinazione?


9

Vorrei inviare circa mezza dozzina di file in un paio di directory alle stesse directory su un computer di destinazione.

Senza usare i tasti ssh, è possibile in una chiamata?

Per esempio:

scp /path/to/fileA,/anoth/erpath/to/fileB,/yet/more/files/*    #continue next line
    destination:/path/to,/anoth/erpath/to,/yet/more/files

Risposte:


8

Comprimere i file sul lato di invio e decomprimerli sul lato di ricezione.

tar -cf - /path/to/fileA /anoth/erpath/to/fileB /yet/more/files/* |
ssh -C destination 'cd / && tar -xf -'

Puoi anche scrivere una sessione sftp o usare rsync con il filtro giusto.


se hai solo pochi file devi copiarli in totale di quanto apprezzo la scp -rsoluzione. ma per di più questo è molto più veloce.
xaedes,

4

È possibile copiare da più SRC in una destinazione. scp -r src1 src2 ... dst Ma non per più destinazioni.

Un'opzione è copiare tutta la directory in una directory di destinazione temporanea. Quindi spostali indietro in seguito.


questo funziona bene come la soluzione tar-ssh. inoltre è più facile digitare / ricordare. ti dà anche feedback su ciò che viene caricato. MA se hai molti piccoli file da copiare tar-ssh sarà molto più veloce, poiché deve solo trasferire un file di grandi dimensioni, mentre scp-r copia ogni file singolarmente con un sovraccarico molto maggiore.
xaedes,

1

Guarda il psshpacchetto. Ha un parallel-scpcomando. -hL'opzione consente di fornire file di testo con più host come destinazione (uno per riga).


questo aggira la necessità di chiedere le password ogni volta che un file da A va a B?
Warren,

2
Per quello che sto usando ssh-add. Digiti le tue credenziali una volta all'inizio di un giorno. Quindi si accede automaticamente.
Casual Coder

0

Uso il seguente comando per copiare più file su più destinazioni.

scp -r src {1,2,3} dest {1,2,3}

questo comando si comporta come il seguente set di comandi

scp -r src1 dest1

scp -r src1 dest2

.

.

.

scp -r src3 dest2

scp -r src3 dest3


Non funziona quando provo. ubuntu@landslide:~$ scp -r {test1,test2} landslide:/home/ubuntu/{test3,test4} scp: /home/ubuntu/test4: No such file or directoryVuole che la destinazione sia una directory.
sudo,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.