Uploader rapidement des fichiers sur un serveur

Le 30 Mars 2015
shell tar ssh

La commande suivante transfert vos fichiers avec une forte compression / décompression à la volée :

1
tar -jc /le_repertoire_a_uploader | ssh zizou@mon-serveur.fr -T -e none "tar -jx -C ./tmp"

Cette commande convient très bien dans le cas général où la connexion est le goulot d'étranglement de l'opération. Par exemple, si votre serveur n‘est pas dans votre réseau locale, il y a fort à parier que la connexion soit le botleneck.

Mais si la connexion est hors du commun ou que votre serveur a une faible puissance de calcul, la connexion n'est peut être plus le botleneck.

C'est le cas quand on upload des fichiers sur une une machine virtuelle qui tourne sur notre machine physique.

À ce moment la, un bon vieux scp sera plus performant :

1
scp -r /le_repertoire_a_uploader zizou@mon-serveur.fr:./tmp > /dev/null

(Au passage, le fait de masquer la sortie standard du scp avec > /dev/null permet d'accélérer l'opération.)

NB

Il existe une option avec scp pour compresser à la volée (-c ou mieux : -o CompressionLevel=9) mais le taux de compression est moins interessant. Le seul avantage d'utilisé scp -c c'est que c'est plus facile à retenir.

Mais à votre place, j'ajouterais cette page à mes favoris.