Come decomprimere una directory, trasferire tramite scp e decomprimere in un comando?


11

Spesso trasferisco su grandi directory scpe sarebbe bello se potessi in qualche modo comprimere la directory, inviarla e decomprimerla tutta in una.

È possibile qualcosa del genere?

Risposte:


29

Che ne dici di usare rsyncinvece con l' -zopzione abilitata per la compressione?

rsync -az --progress source_dir/* remote_host:/destination_dir

Ciò ha anche il vantaggio aggiuntivo che se il file esiste già e non è stato modificato sulla destinazione, non verrà trasferito.


7

Grazie alla risposta di @ johnshen64, sono riuscito a trovare qualcosa di molto carino

tar -zc path/to/source | ssh user@remote tar -zxC path/to/destination

Sfortunatamente, questo non mostra progressi durante il trasferimento. Ho notato incredibili miglioramenti della velocità usando questo metodo.

Se qualcuno sa come mostrare i progressi per un trasferimento come questo, apprezzerei molto l'aiuto :)


1
Inserisci pvtra tar e ssh .
user1686

Questo è fantastico se non hai rsync disponibile
Simon Hartcher,

2

bene, vorrei usare tar invece

tar cf - directory | server ssh 'tar xf -'

puoi aggiungere v per verificare.

zip dovrebbe essere lo stesso, ma tar è più robusto per Linux secondo me.


+1 grazie per il tuo aiuto; questo mi ha portato a metà strada. Sono stato in grado di trovare una soluzione che non utilizza il -carattere criptico , utilizza anche la compressione gzip e consente di indirizzare una directory di destinazione.
macek,

@macek: Nota che f -potrebbe essere richiesto su altri sistemi operativi, poiché la maggior parte delle versioni tar tenterà di leggere da un'unità a nastro altrimenti. La lettura da stdin di default è specifica per GNU.
user1686
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.