web-dev-qa-db-fra.com

Comment gzip un répertoire, transfert via SCP et décompresser dans une commande?

Je transférais fréquemment de gros répertoires sur scp et il serait doux si je pouvais en quelque sorte comprimer le répertoire, l'envoyer et le décompresser tout en un.

Est quelque chose comme ça possible?

11
macek

Que diriez-vous d'utiliser rsync plutôt que le -z Option activée pour la compression?

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

Cela a également l'avantage supplémentaire que si le fichier existe déjà et n'a pas changé sur la destination, il ne sera pas transféré.

29
AaronM

Merci à la réponse de @ johnshen64, j'ai pu venir avec quelque chose de gentil

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

Malheureusement, cela ne montre pas les progrès en tant que transfert. J'ai remarqué des améliorations de vitesse incroyables en utilisant cette méthode.

Si quelqu'un sait comment montrer des progrès pour un transfert comme celui-ci, j'apprécierais énormément l'aide :)

7
macek

eh bien, j'utiliserais goudron à la place

tar CF - Annuaire | SSH Server 'Tar XF -'

vous pouvez ajouter V à vérifier.

Zip devrait être la même chose, mais le goudron est plus robuste pour Linux à mon avis.

2
johnshen64