Copia di file con determinate estensioni con scp


19

Voglio copiare .jpge .pngfile con scp, ma ci sono file con estensioni diverse nella stessa cartella da cui sto copiando. Sto facendo quanto segue:

scp user@someRemoteHost.com:/folder/*.{jpg,png} .

Mi viene chiesto di inserire la mia password per ciascun tipo di interno. C'è un modo per farlo in modo tale da inserire la mia password una sola volta?

Risposte:


31

Sostituiscilo semplicemente con:

scp user@someRemoteHost.com:'/folder/*.{jpg,png}' .

Si prega di notare la coppia di virgolette singole. Nel tuo caso, la tua shell locale sta valutando l'espressione, trasformandola davvero in:

scp user@someRemoteHost.com:/folder/*.jpg user@someRemoteHost.com:/folder/*.png .

quindi le due password hanno chiesto. In questa soluzione, la coppia di virgolette singole la protegge dalla valutazione della shell locale, quindi è la shell remota chiamata da (il remoto) scp che sta valutando l'espressione.


Come posso includere tutte le sottodirectory di quella directory?
xxx ---

@ pushpen.paul Se non hai bisogno di selezionare solo file png e jpg ma vuoi copiare tutto, usare ad esempio scp -r user@someRemoteHost.com:'/folder' . dovrebbe farlo. Altrimenti se vuoi ancora copiare solo png e jpg in quelle sottodirectory probabilmente non puoi usare scp o sftp (a meno che sftp / lftp con possibile script personalizzato) ma devi invece eseguire qualcosa come ssh + una coppia di tar. Dovresti quindi porre la tua domanda con le esigenze specifiche.
AB

7

Meglio usare rsync per le operazioni di copia tra server.

 rsync -avzh user@remoteip:/path/*.jpg user@192.168.159.155:/path/*.png localserverpath

Usando rsync chiederà la password solo una volta.

Inoltre in rsync durante il trasferimento del file controllerà se il file esiste o meno nella posizione di destinazione e verificherà anche se il contenuto è uguale o meno nella posizione di origine e di destinazione.

Se il file esiste anche nella posizione di destinazione e anche il contenuto è lo stesso, non lo copierà. Copia solo i file che non esistono nella posizione di destinazione, quindi riduce i tempi di elaborazione.

rsync viene spesso utilizzato come strumento di backup incrementale.


8
Non importa se utilizzato rsynco scp, il punto è che /folder/*.{jpg,png}dovrebbe essere citato '/folder/*.{jpg,png}' .
αғsнιη,
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.